| /* -*- tab-width: 8; c-basic-offset: 4 -*- */ |
| #ifndef __WINE_WINEACM_H |
| #define __WINE_WINEACM_H |
| |
| #include "wine/windef16.h" |
| #include "wine/mmsystem16.h" |
| |
| /*********************************************************************** |
| * Win16 definitions |
| */ |
| typedef BOOL16 CALLBACK (*ACMDRIVERENUMCB16)( |
| HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport |
| ); |
| typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROC16)( |
| HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam |
| ); |
| typedef UINT16 CALLBACK (*ACMFORMATCHOOSEHOOKPROC16)( |
| HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam |
| ); |
| |
| 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 _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 _ACMFILTERDETAILS16 |
| { |
| DWORD cbStruct; |
| DWORD dwFilterIndex; |
| DWORD dwFilterTag; |
| DWORD fdwSupport; |
| LPWAVEFILTER pwfltr; |
| DWORD cbwfltr; |
| CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS]; |
| } ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16; |
| |
| 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 _ACMFORMATCHOOSE16 |
| { |
| DWORD cbStruct; |
| DWORD fdwStyle; |
| |
| HWND16 hwndOwner; |
| |
| LPWAVEFORMATEX pwfx; |
| DWORD cbwfx; |
| LPCSTR pszTitle; |
| |
| CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; |
| CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; |
| |
| LPSTR pszName; |
| DWORD cchName; |
| |
| DWORD fdwEnum; |
| LPWAVEFORMATEX pwfxEnum; |
| |
| HINSTANCE16 hInstance; |
| LPCSTR pszTemplateName; |
| LPARAM lCustData; |
| ACMFORMATCHOOSEHOOKPROC16 pfnHook; |
| } ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16; |
| |
| typedef struct _ACMFORMATDETAILS16 |
| { |
| DWORD cbStruct; |
| DWORD dwFormatIndex; |
| DWORD dwFormatTag; |
| DWORD fdwSupport; |
| LPWAVEFORMATEX pwfx; |
| DWORD cbwfx; |
| CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; |
| } ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16; |
| |
| typedef struct _ACMFORMATTAGDETAILS16 |
| { |
| DWORD cbStruct; |
| DWORD dwFormatTagIndex; |
| DWORD dwFormatTag; |
| DWORD cbFormatSize; |
| DWORD fdwSupport; |
| DWORD cStandardFormats; |
| CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; |
| } ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16; |
| |
| typedef ACMSTREAMHEADER ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16; |
| |
| typedef BOOL16 CALLBACK (*ACMFILTERENUMCB16)( |
| HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd, |
| DWORD dwInstance, DWORD fdwSupport |
| ); |
| |
| typedef BOOL16 CALLBACK (*ACMFILTERTAGENUMCB16)( |
| HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd, |
| DWORD dwInstance, DWORD fdwSupport |
| ); |
| |
| typedef BOOL16 CALLBACK (*ACMFORMATENUMCB16)( |
| HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd, |
| DWORD dwInstance, DWORD fdwSupport |
| ); |
| |
| typedef BOOL16 CALLBACK (*ACMFORMATTAGENUMCB16)( |
| HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd, |
| DWORD dwInstance, DWORD fdwSupport |
| ); |
| |
| /*********************************************************************** |
| * Functions - Win16 |
| */ |
| |
| DWORD WINAPI acmGetVersion16( |
| ); |
| MMRESULT16 WINAPI acmMetrics16( |
| HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric |
| ); |
| MMRESULT16 WINAPI acmDriverEnum16( |
| ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum |
| ); |
| MMRESULT16 WINAPI acmDriverDetails16( |
| HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails |
| ); |
| MMRESULT16 WINAPI acmDriverAdd16( |
| LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule, |
| LPARAM lParam, DWORD dwPriority, DWORD fdwAdd |
| ); |
| MMRESULT16 WINAPI acmDriverRemove16( |
| HACMDRIVERID16 hadid, DWORD fdwRemove |
| ); |
| MMRESULT16 WINAPI acmDriverOpen16( |
| LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen |
| ); |
| MMRESULT16 WINAPI acmDriverClose16( |
| HACMDRIVER16 had, DWORD fdwClose |
| ); |
| LRESULT WINAPI acmDriverMessage16( |
| HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2 |
| ); |
| MMRESULT16 WINAPI acmDriverID16( |
| HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID |
| ); |
| MMRESULT16 WINAPI acmDriverPriority16( |
| HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority |
| ); |
| MMRESULT16 WINAPI acmFormatTagDetails16( |
| HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails |
| ); |
| MMRESULT16 WINAPI acmFormatTagEnum16( |
| HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, |
| ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum |
| ); |
| MMRESULT16 WINAPI acmFormatChoose16( |
| LPACMFORMATCHOOSE16 pafmtc |
| ); |
| MMRESULT16 WINAPI acmFormatDetails16( |
| HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails |
| ); |
| MMRESULT16 WINAPI acmFormatEnum16( |
| HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, |
| ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum |
| ); |
| MMRESULT16 WINAPI acmFormatSuggest16( |
| HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc, |
| LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest |
| ); |
| MMRESULT16 WINAPI acmFilterTagDetails16( |
| HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails |
| ); |
| MMRESULT16 WINAPI acmFilterTagEnum16( |
| HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, |
| ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum |
| ); |
| MMRESULT16 WINAPI acmFilterChoose16( |
| LPACMFILTERCHOOSE16 pafltrc |
| ); |
| MMRESULT16 WINAPI acmFilterDetails16( |
| HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails |
| ); |
| MMRESULT16 WINAPI acmFilterEnum16( |
| HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, |
| ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum |
| ); |
| MMRESULT16 WINAPI acmStreamOpen16( |
| LPHACMSTREAM16 phas, HACMDRIVER16 had, |
| LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, |
| LPWAVEFILTER pwfltr, DWORD dwCallback, |
| DWORD dwInstance, DWORD fdwOpen |
| ); |
| MMRESULT16 WINAPI acmStreamClose16( |
| HACMSTREAM16 has, DWORD fdwClose |
| ); |
| MMRESULT16 WINAPI acmStreamSize16( |
| HACMSTREAM16 has, DWORD cbInput, |
| LPDWORD pdwOutputBytes, DWORD fdwSize |
| ); |
| MMRESULT16 WINAPI acmStreamConvert16( |
| HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert |
| ); |
| MMRESULT16 WINAPI acmStreamReset16( |
| HACMSTREAM16 has, DWORD fdwReset |
| ); |
| MMRESULT16 WINAPI acmStreamPrepareHeader16( |
| HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare |
| ); |
| MMRESULT16 WINAPI acmStreamUnprepareHeader16( |
| HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare |
| ); |
| |
| |
| /*********************************************************************** |
| * Wine specific - Win32 |
| */ |
| typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID; |
| typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER; |
| |
| #define WINE_ACMOBJ_DONTCARE 0x5EED0000 |
| #define WINE_ACMOBJ_DRIVERID 0x5EED0001 |
| #define WINE_ACMOBJ_DRIVER 0x5EED0002 |
| #define WINE_ACMOBJ_STREAM 0x5EED0003 |
| |
| typedef struct _WINE_ACMOBJ |
| { |
| DWORD dwType; |
| PWINE_ACMDRIVERID pACMDriverID; |
| } WINE_ACMOBJ, *PWINE_ACMOBJ; |
| |
| typedef struct _WINE_ACMDRIVER |
| { |
| WINE_ACMOBJ obj; |
| HDRVR hDrvr; |
| DRIVERPROC pfnDriverProc; |
| PWINE_ACMDRIVER pNextACMDriver; |
| } WINE_ACMDRIVER; |
| |
| typedef struct _WINE_ACMSTREAM |
| { |
| WINE_ACMOBJ obj; |
| PWINE_ACMDRIVER pDrv; |
| ACMDRVSTREAMINSTANCE drvInst; |
| HACMDRIVER hAcmDriver; |
| } WINE_ACMSTREAM, *PWINE_ACMSTREAM; |
| |
| typedef struct _WINE_ACMDRIVERID |
| { |
| WINE_ACMOBJ obj; |
| LPSTR pszDriverAlias; |
| LPSTR pszFileName; |
| HINSTANCE hInstModule; /* NULL if global */ |
| DWORD dwProcessID; /* ID of process which installed a local driver */ |
| BOOL bEnabled; |
| PWINE_ACMDRIVER pACMDriverList; |
| PWINE_ACMDRIVERID pNextACMDriverID; |
| PWINE_ACMDRIVERID pPrevACMDriverID; |
| } WINE_ACMDRIVERID; |
| |
| /* From internal.c */ |
| extern HANDLE MSACM_hHeap; |
| extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID; |
| extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID; |
| extern PWINE_ACMDRIVERID MSACM_RegisterDriver(LPSTR pszDriverAlias, LPSTR pszFileName, |
| HINSTANCE hinstModule); |
| extern void MSACM_RegisterAllDrivers(void); |
| extern PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p); |
| extern void MSACM_UnregisterAllDrivers(void); |
| extern PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID); |
| extern PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver); |
| extern PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj, DWORD type); |
| |
| extern MMRESULT MSACM_Message(HACMDRIVER, UINT, LPARAM, LPARAM); |
| |
| /* From msacm32.c */ |
| extern HINSTANCE MSACM_hInstance32; |
| |
| /* Dialog box templates */ |
| #define DLG_ACMFORMATCHOOSE_ID 70 |
| #define IDD_ACMFORMATCHOOSE_BTN_HELP 9 |
| #define IDD_ACMFORMATCHOOSE_CMB_CUSTOM 100 |
| #define IDD_ACMFORMATCHOOSE_CMB_FORMATTAG 101 |
| #define IDD_ACMFORMATCHOOSE_CMB_FORMAT 102 |
| #define IDD_ACMFORMATCHOOSE_BTN_SETNAME 103 |
| #define IDD_ACMFORMATCHOOSE_BTN_DELNAME 104 |
| |
| #define DLG_ACMFILTERCHOOSE_ID 71 |
| #define IDD_ACMFILTERCHOOSE_BTN_HELP 9 |
| #define IDD_ACMFILTERCHOOSE_CMB_CUSTOM 100 |
| #define IDD_ACMFILTERCHOOSE_CMB_FILTERTAG 101 |
| #define IDD_ACMFILTERCHOOSE_CMB_FILTER 102 |
| #define IDD_ACMFILTERCHOOSE_BTN_SETNAME 103 |
| #define IDD_ACMFILTERCHOOSE_BTN_DELNAME 104 |
| |
| #endif /* __WINE_WINEACM_H */ |