📄 msacm.h
字号:
/* * msacm.h - Declarations for MSACM */#ifndef WINE_MSACM_H#define WINE_MSACM_H#include "windef.h"#include "driver.h"#include "mmreg.h"#ifdef __cplusplusextern "C" {#endif /* defined(__cplusplus) *///typedef WORD VERSION; /* major (high byte), minor (low byte) */typedef UINT16 MMVERSION16;typedef UINT MMVERSION;typedef UINT16 MCIDEVICEID16;typedef UINT MCIDEVICEID;typedef UINT16 MMRESULT16;typedef UINT MMRESULT;typedef DWORD FOURCC; /* a four character code */#if !defined(WAVE_FORMAT_PCM)#define WAVE_FORMAT_PCM 1#endif/*********************************************************************** * Defines/Enums */#define ACMERR_BASE 512#define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)#define ACMERR_BUSY (ACMERR_BASE + 1)#define ACMERR_UNPREPARED (ACMERR_BASE + 2)#define ACMERR_CANCELED (ACMERR_BASE + 3)#define MM_ACM_OPEN MM_STREAM_OPEN#define MM_ACM_CLOSE MM_STREAM_CLOSE#define MM_ACM_DONE MM_STREAM_DONE#define ACM_DRIVERADDF_FUNCTION 0x00000003L#define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L#define ACM_DRIVERADDF_TYPEMASK 0x00000007L#define ACM_DRIVERADDF_LOCAL 0x00000000L#define ACM_DRIVERADDF_GLOBAL 0x00000008L#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32#define ACMDRIVERDETAILS_LONGNAME_CHARS 128#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80#define ACMDRIVERDETAILS_LICENSING_CHARS 128#define ACMDRIVERDETAILS_FEATURES_CHARS 512#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')#define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L#define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L#define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L#define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L#define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L#define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L#define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L#define ACM_DRIVERENUMF_NOLOCAL 0x40000000L#define ACM_DRIVERENUMF_DISABLED 0x80000000L#define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L#define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L#define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L#define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L#define ACM_DRIVERPRIORITYF_END 0x00020000L#define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L#define MM_ACM_FILTERCHOOSE 0x8000#define FILTERCHOOSE_MESSAGE 0#define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)#define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)#define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)#define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L#define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L#define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L#define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L#define ACMFILTERDETAILS_FILTER_CHARS 128#define ACM_FILTERDETAILSF_INDEX 0x00000000L#define ACM_FILTERDETAILSF_FILTER 0x00000001L#define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48#define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L#define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L#define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL#define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L#define ACMHELPMSGSTRINGA "acmchoose_help"#define ACMHELPMSGSTRINGW L"acmchoose_help"#define ACMHELPMSGSTRING16 "acmchoose_help"#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"#define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"#define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"#define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"#define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"#define MM_ACM_FORMATCHOOSE 0x8000#define FORMATCHOOSE_MESSAGE 0#define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)#define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)#define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)#define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L#define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L#define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L#define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L#define ACMFORMATDETAILS_FORMAT_CHARS 128#define ACM_FORMATDETAILSF_INDEX 0x00000000L#define ACM_FORMATDETAILSF_FORMAT 0x00000001L#define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL#define ACM_FORMATENUMF_WFORMATTAG 0x00010000L#define ACM_FORMATENUMF_NCHANNELS 0x00020000L#define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L#define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L#define ACM_FORMATENUMF_CONVERT 0x00100000L#define ACM_FORMATENUMF_SUGGEST 0x00200000L#define ACM_FORMATENUMF_HARDWARE 0x00400000L#define ACM_FORMATENUMF_INPUT 0x00800000L#define ACM_FORMATENUMF_OUTPUT 0x01000000L#define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L#define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L#define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L#define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L#define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48#define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L#define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L#define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL#define ACM_METRIC_COUNT_DRIVERS 1#define ACM_METRIC_COUNT_CODECS 2#define ACM_METRIC_COUNT_CONVERTERS 3#define ACM_METRIC_COUNT_FILTERS 4#define ACM_METRIC_COUNT_DISABLED 5#define ACM_METRIC_COUNT_HARDWARE 6#define ACM_METRIC_COUNT_LOCAL_DRIVERS 20#define ACM_METRIC_COUNT_LOCAL_CODECS 21#define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22#define ACM_METRIC_COUNT_LOCAL_FILTERS 23#define ACM_METRIC_COUNT_LOCAL_DISABLED 24#define ACM_METRIC_HARDWARE_WAVE_INPUT 30#define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31#define ACM_METRIC_MAX_SIZE_FORMAT 50#define ACM_METRIC_MAX_SIZE_FILTER 51#define ACM_METRIC_DRIVER_SUPPORT 100#define ACM_METRIC_DRIVER_PRIORITY 101#define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004#define ACM_STREAMCONVERTF_START 0x00000010#define ACM_STREAMCONVERTF_END 0x00000020#define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L#define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L#define ACM_STREAMOPENF_QUERY 0x00000001#define ACM_STREAMOPENF_ASYNC 0x00000002#define ACM_STREAMOPENF_NONREALTIME 0x00000004#define ACM_STREAMSIZEF_SOURCE 0x00000000L#define ACM_STREAMSIZEF_DESTINATION 0x00000001L#define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL#define ACMDM_USER (DRV_USER + 0x0000)#define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)#define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)#define ACMDM_BASE ACMDM_RESERVED_LOW#define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)/*********************************************************************** * Callbacks */typedef WIN_BOOL CALLBACK ( *ACMDRIVERENUMCB)( HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport);typedef WIN_BOOL16 CALLBACK ( *ACMDRIVERENUMCB16)( HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport);typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCA)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCW)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROC16)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCA)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCW)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);typedef UINT16 CALLBACK ( *ACMFORMATCHOOSEHOOKPROC16)( HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam);/*********************************************************************** * Structures */typedef struct _ACMDRIVERDETAILSA{ DWORD cbStruct; FOURCC fccType; FOURCC fccComp; WORD wMid; WORD wPid; DWORD vdwACM; DWORD vdwDriver; DWORD fdwSupport; DWORD cFormatTags; DWORD cFilterTags; HICON hicon; CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;typedef struct _ACMDRIVERDETAILSW{ DWORD cbStruct; FOURCC fccType; FOURCC fccComp; WORD wMid; WORD wPid; DWORD vdwACM; DWORD vdwDriver; DWORD fdwSupport; DWORD cFormatTags; DWORD cFilterTags; HICON hicon; WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;typedef struct _ACMDRIVERDETAILS16{ DWORD cbStruct; FOURCC fccType; FOURCC fccComp; WORD wMid; WORD wPid; DWORD vdwACM; DWORD vdwDriver; DWORD fdwSupport; DWORD cFormatTags; DWORD cFilterTags; HICON16 hicon; CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];} ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;typedef struct _ACMFILTERCHOOSEA{ DWORD cbStruct; DWORD fdwStyle; HWND hwndOwner; PWAVEFILTER pwfltr; DWORD cbwfltr; LPCSTR pszTitle; CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; LPSTR pszName; DWORD cchName; DWORD fdwEnum; PWAVEFILTER pwfltrEnum; HINSTANCE hInstance; LPCSTR pszTemplateName; LPARAM lCustData; ACMFILTERCHOOSEHOOKPROCA pfnHook;} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;typedef struct _ACMFILTERCHOOSEW{ DWORD cbStruct; DWORD fdwStyle; HWND hwndOwner; PWAVEFILTER pwfltr; DWORD cbwfltr; LPCWSTR pszTitle; WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; LPWSTR pszName; DWORD cchName; DWORD fdwEnum; PWAVEFILTER pwfltrEnum; HINSTANCE hInstance; LPCWSTR pszTemplateName; LPARAM lCustData; ACMFILTERCHOOSEHOOKPROCW pfnHook;} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;typedef struct _ACMFILTERCHOOSE16{ DWORD cbStruct; DWORD fdwStyle; HWND16 hwndOwner; LPWAVEFILTER pwfltr; DWORD cbwfltr; LPCSTR pszTitle; char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]; char szFilter[ACMFILTERDETAILS_FILTER_CHARS]; LPSTR pszName; DWORD cchName; DWORD fdwEnum; LPWAVEFILTER pwfltrEnum; HINSTANCE16 hInstance; LPCSTR pszTemplateName; LPARAM lCustData; ACMFILTERCHOOSEHOOKPROC16 pfnHook;} ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;typedef struct _ACMFILTERDETAILSA{ DWORD cbStruct; DWORD dwFilterIndex; DWORD dwFilterTag; DWORD fdwSupport; PWAVEFILTER pwfltr; DWORD cbwfltr; CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];} ACMFILTERDETAILSA, *PACMFILTERDETAILSA;typedef struct _ACMFILTERDETAILSW{ DWORD cbStruct; DWORD dwFilterIndex; DWORD dwFilterTag; DWORD fdwSupport; PWAVEFILTER pwfltr; DWORD cbwfltr; WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];} ACMFILTERDETAILSW, *PACMFILTERDETAILSW;typedef struct _ACMFILTERDETAILS16{ DWORD cbStruct; DWORD dwFilterIndex; DWORD dwFilterTag; DWORD fdwSupport; LPWAVEFILTER pwfltr; DWORD cbwfltr; CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];} ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;typedef struct _ACMFILTERTAGDETAILSA{ DWORD cbStruct; DWORD dwFilterTagIndex; DWORD dwFilterTag; DWORD cbFilterSize; DWORD fdwSupport; DWORD cStandardFilters; CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;typedef struct _ACMFILTERTAGDETAILSW{ DWORD cbStruct; DWORD dwFilterTagIndex; DWORD dwFilterTag; DWORD cbFilterSize; DWORD fdwSupport; DWORD cStandardFilters; WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;typedef struct _ACMFILTERTAGDETAILS16{ DWORD cbStruct; DWORD dwFilterTagIndex; DWORD dwFilterTag; DWORD cbFilterSize; DWORD fdwSupport; DWORD cStandardFilters; CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];} ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;typedef struct _ACMFORMATCHOOSEA{ DWORD cbStruct; DWORD fdwStyle;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -