1998-10-11 19:00:29 +02:00
|
|
|
/*
|
|
|
|
* msacm.h - Declarations for MSACM
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_MSACM_H
|
|
|
|
#define __WINE_MSACM_H
|
|
|
|
|
|
|
|
#include "wintypes.h"
|
|
|
|
#include "driver.h"
|
|
|
|
#include "mmsystem.h"
|
|
|
|
#include "mmreg.h"
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Types
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* FIXME: Move to wintypes.h */
|
|
|
|
#define DECLARE_HANDLE(a) \
|
|
|
|
typedef HANDLE16 a##16; \
|
|
|
|
typedef HANDLE32 a##32; \
|
|
|
|
typedef a##16 *P##a##16; \
|
|
|
|
typedef a##16 *NP##a##16; \
|
|
|
|
typedef a##16 *LP##a##16; \
|
|
|
|
typedef a##32 *P##a##32;
|
|
|
|
|
1999-02-15 16:24:20 +01:00
|
|
|
DECLARE_HANDLE(HACMDRIVERID)
|
|
|
|
DECLARE_HANDLE(HACMDRIVER)
|
|
|
|
DECLARE_HANDLE(HACMSTREAM)
|
|
|
|
DECLARE_HANDLE(HACMOBJ)
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
/* FIXME: Remove when define moved to wintypes.h */
|
|
|
|
#undef DECLARE_HANDLE
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* 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 ACMHELPMSGSTRING32A "acmchoose_help"
|
|
|
|
#define ACMHELPMSGSTRING32W L"acmchoose_help"
|
|
|
|
#define ACMHELPMSGSTRING16 "acmchoose_help"
|
|
|
|
|
|
|
|
#define ACMHELPMSGCONTEXTMENU32A "acmchoose_contextmenu"
|
|
|
|
#define ACMHELPMSGCONTEXTMENU32W L"acmchoose_contextmenu"
|
|
|
|
#define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
|
|
|
|
|
|
|
|
#define ACMHELPMSGCONTEXTHELP32A "acmchoose_contexthelp"
|
|
|
|
#define ACMHELPMSGCONTEXTHELP32W 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 BOOL32 (CALLBACK *ACMDRIVERENUMCB32)(
|
|
|
|
HACMDRIVERID32 hadid, DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL16 (CALLBACK *ACMDRIVERENUMCB16)(
|
|
|
|
HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT32 (CALLBACK *ACMFILTERCHOOSEHOOKPROC32A)(
|
|
|
|
HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT32 (CALLBACK *ACMFILTERCHOOSEHOOKPROC32W)(
|
|
|
|
HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT32 (CALLBACK *ACMFILTERCHOOSEHOOKPROC16)(
|
|
|
|
HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT32 (CALLBACK *ACMFORMATCHOOSEHOOKPROC32A)(
|
|
|
|
HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT32 (CALLBACK *ACMFORMATCHOOSEHOOKPROC32W)(
|
|
|
|
HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef UINT16 (CALLBACK *ACMFORMATCHOOSEHOOKPROC16)(
|
|
|
|
HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
|
|
|
|
);
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Structures
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef struct _ACMDRIVERDETAILS32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
|
|
|
|
FOURCC fccType;
|
|
|
|
FOURCC fccComp;
|
|
|
|
|
|
|
|
WORD wMid;
|
|
|
|
WORD wPid;
|
|
|
|
|
|
|
|
DWORD vdwACM;
|
|
|
|
DWORD vdwDriver;
|
|
|
|
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cFormatTags;
|
|
|
|
DWORD cFilterTags;
|
|
|
|
|
|
|
|
HICON32 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];
|
|
|
|
} ACMDRIVERDETAILS32A, *PACMDRIVERDETAILS32A;
|
|
|
|
|
|
|
|
typedef struct _ACMDRIVERDETAILS32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
|
|
|
|
FOURCC fccType;
|
|
|
|
FOURCC fccComp;
|
|
|
|
|
|
|
|
WORD wMid;
|
|
|
|
WORD wPid;
|
|
|
|
|
|
|
|
DWORD vdwACM;
|
|
|
|
DWORD vdwDriver;
|
|
|
|
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cFormatTags;
|
|
|
|
DWORD cFilterTags;
|
|
|
|
|
|
|
|
HICON32 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];
|
|
|
|
} ACMDRIVERDETAILS32W, *PACMDRIVERDETAILS32W;
|
|
|
|
|
|
|
|
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 _ACMFILTERCHOOSE32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND32 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
|
|
|
|
LPCSTR pszTitle;
|
|
|
|
|
|
|
|
CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
|
|
|
|
CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
LPSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltrEnum;
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
HINSTANCE32 hInstance;
|
|
|
|
LPCSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFILTERCHOOSEHOOKPROC32A pfnHook;
|
|
|
|
} ACMFILTERCHOOSE32A, *PACMFILTERCHOOSE32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERCHOOSE32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND32 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
|
|
|
|
LPCWSTR pszTitle;
|
|
|
|
|
|
|
|
WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
|
|
|
|
WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
LPWSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltrEnum;
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
HINSTANCE32 hInstance;
|
|
|
|
LPCWSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFILTERCHOOSEHOOKPROC32W pfnHook;
|
|
|
|
} ACMFILTERCHOOSE32W, *PACMFILTERCHOOSE32W;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERCHOOSE16
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND16 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
|
|
|
|
LPCSTR pszTitle;
|
|
|
|
|
|
|
|
char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
|
|
|
|
char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
LPSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFILTER pwfltrEnum;
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
HINSTANCE16 hInstance;
|
|
|
|
LPCSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFILTERCHOOSEHOOKPROC16 pfnHook;
|
|
|
|
} ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERDETAILS32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFilterIndex;
|
|
|
|
DWORD dwFilterTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
} ACMFILTERDETAILS32A, *PACMFILTERDETAILS32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERDETAILS32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFilterIndex;
|
|
|
|
DWORD dwFilterTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
} ACMFILTERDETAILS32W, *PACMFILTERDETAILS32W;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERDETAILS16
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFilterIndex;
|
|
|
|
DWORD dwFilterTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFILTER pwfltr;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfltr;
|
|
|
|
CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
|
|
|
|
} ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERTAGDETAILS32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFilterTagIndex;
|
|
|
|
DWORD dwFilterTag;
|
|
|
|
DWORD cbFilterSize;
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cStandardFilters;
|
|
|
|
CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
|
|
|
|
} ACMFILTERTAGDETAILS32A, *PACMFILTERTAGDETAILS32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFILTERTAGDETAILS32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFilterTagIndex;
|
|
|
|
DWORD dwFilterTag;
|
|
|
|
DWORD cbFilterSize;
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cStandardFilters;
|
|
|
|
WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
|
|
|
|
} ACMFILTERTAGDETAILS32W, *PACMFILTERTAGDETAILS32W;
|
|
|
|
|
|
|
|
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 _ACMFORMATCHOOSE32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND32 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
LPCSTR pszTitle;
|
|
|
|
|
|
|
|
CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
|
|
|
|
LPSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFORMATEX pwfxEnum;
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
HINSTANCE32 hInstance;
|
|
|
|
LPCSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFORMATCHOOSEHOOKPROC32A pfnHook;
|
|
|
|
} ACMFORMATCHOOSE32A, *PACMFORMATCHOOSE32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATCHOOSE32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND32 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
LPCWSTR pszTitle;
|
|
|
|
|
|
|
|
WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
|
|
|
|
LPWSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
|
|
|
LPWAVEFORMATEX pwfxEnum;
|
|
|
|
|
|
|
|
HINSTANCE32 hInstance;
|
|
|
|
LPCWSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFORMATCHOOSEHOOKPROC32W pfnHook;
|
|
|
|
} ACMFORMATCHOOSE32W, *PACMFORMATCHOOSE32W;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATCHOOSE16
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStyle;
|
|
|
|
|
|
|
|
HWND16 hwndOwner;
|
|
|
|
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
LPCSTR pszTitle;
|
|
|
|
|
|
|
|
CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
|
|
|
|
LPSTR pszName;
|
|
|
|
DWORD cchName;
|
|
|
|
|
|
|
|
DWORD fdwEnum;
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFORMATEX pwfxEnum;
|
1998-10-11 19:00:29 +02:00
|
|
|
|
|
|
|
HINSTANCE16 hInstance;
|
|
|
|
LPCSTR pszTemplateName;
|
|
|
|
LPARAM lCustData;
|
|
|
|
ACMFORMATCHOOSEHOOKPROC16 pfnHook;
|
|
|
|
} ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATDETAILS32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
} ACMFORMATDETAILS32A, *PACMFORMATDETAILS32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATDETAILS32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
PWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
} ACMFORMATDETAILS32W, *PACMFORMATDETAILS32W;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATDETAILS16
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD fdwSupport;
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFORMATEX pwfx;
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfx;
|
|
|
|
CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
|
|
|
|
} ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATTAGDETAILS32A
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatTagIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD cbFormatSize;
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cStandardFormats;
|
|
|
|
CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
} ACMFORMATTAGDETAILS32A, *PACMFORMATTAGDETAILS32A;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATTAGDETAILS32W
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatTagIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD cbFormatSize;
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cStandardFormats;
|
|
|
|
WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
} ACMFORMATTAGDETAILS32W, *PACMFORMATTAGDETAILS32W;
|
|
|
|
|
|
|
|
typedef struct _ACMFORMATTAGDETAILS16
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD dwFormatTagIndex;
|
|
|
|
DWORD dwFormatTag;
|
|
|
|
DWORD cbFormatSize;
|
|
|
|
DWORD fdwSupport;
|
|
|
|
DWORD cStandardFormats;
|
|
|
|
CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
|
|
|
|
} ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
|
|
|
|
|
|
|
|
typedef struct _ACMSTREAMHEADER
|
|
|
|
{
|
|
|
|
DWORD cbStruct;
|
|
|
|
DWORD fdwStatus;
|
|
|
|
DWORD dwUser;
|
|
|
|
LPBYTE pbSrc;
|
|
|
|
DWORD cbSrcLength;
|
|
|
|
DWORD cbSrcLengthUsed;
|
|
|
|
DWORD dwSrcUser;
|
|
|
|
LPBYTE pbDst;
|
|
|
|
DWORD cbDstLength;
|
|
|
|
DWORD cbDstLengthUsed;
|
|
|
|
DWORD dwDstUser;
|
|
|
|
DWORD dwReservedDriver[10];
|
|
|
|
} ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
|
|
|
|
ACMSTREAMHEADER32, *PACMSTREAMHEADER32;
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Callbacks 2
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFILTERENUMCB32A)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFILTERDETAILS32A pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFILTERENUMCB32W)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFILTERDETAILS32W pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL16 (CALLBACK *ACMFILTERENUMCB16)(
|
|
|
|
HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFILTERTAGENUMCB32A)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFILTERTAGDETAILS32A paftd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFILTERTAGENUMCB32W)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFILTERTAGDETAILS32W paftd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL16 (CALLBACK *ACMFILTERTAGENUMCB16)(
|
|
|
|
HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFORMATENUMCB32A)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFORMATDETAILS32A pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFORMATENUMCB32W)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFORMATDETAILS32W pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL16 (CALLBACK *ACMFORMATENUMCB16)(
|
|
|
|
HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFORMATTAGENUMCB32A)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFORMATTAGDETAILS32A paftd,
|
|
|
|
DWORD dwInstance, DWORD fdwSupport
|
|
|
|
);
|
|
|
|
|
|
|
|
typedef BOOL32 (CALLBACK *ACMFORMATTAGENUMCB32W)(
|
|
|
|
HACMDRIVERID32 hadid, PACMFORMATTAGDETAILS32W paftd,
|
|
|
|
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(
|
1999-02-14 10:41:42 +01:00
|
|
|
HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
|
|
|
|
LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
|
1998-10-11 19:00:29 +02:00
|
|
|
);
|
|
|
|
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,
|
1999-02-14 10:41:42 +01:00
|
|
|
LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
|
|
|
|
LPWAVEFILTER pwfltr, DWORD dwCallback,
|
1998-10-11 19:00:29 +02:00
|
|
|
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
|
|
|
|
);
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Functions - Win32
|
|
|
|
*/
|
|
|
|
|
|
|
|
MMRESULT32 WINAPI acmDriverAdd32A(
|
|
|
|
PHACMDRIVERID32 phadid, HINSTANCE32 hinstModule,
|
|
|
|
LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverAdd32W(
|
|
|
|
PHACMDRIVERID32 phadid, HINSTANCE32 hinstModule,
|
|
|
|
LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverClose32(
|
|
|
|
HACMDRIVER32 had, DWORD fdwClose
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverDetails32A(
|
|
|
|
HACMDRIVERID32 hadid, PACMDRIVERDETAILS32A padd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverDetails32W(
|
|
|
|
HACMDRIVERID32 hadid, PACMDRIVERDETAILS32W padd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverEnum32(
|
|
|
|
ACMDRIVERENUMCB32 fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverID32(
|
|
|
|
HACMOBJ32 hao, PHACMDRIVERID32 phadid, DWORD fdwDriverID
|
|
|
|
);
|
|
|
|
LRESULT WINAPI acmDriverMessage32(
|
|
|
|
HACMDRIVER32 had, UINT32 uMsg, LPARAM lParam1, LPARAM lParam2
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverOpen32(
|
|
|
|
PHACMDRIVER32 phad, HACMDRIVERID32 hadid, DWORD fdwOpen
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverPriority32(
|
|
|
|
HACMDRIVERID32 hadid, DWORD dwPriority, DWORD fdwPriority
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmDriverRemove32(
|
|
|
|
HACMDRIVERID32 hadid, DWORD fdwRemove
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterChoose32A(
|
|
|
|
PACMFILTERCHOOSE32A pafltrc
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterChoose32W(
|
|
|
|
PACMFILTERCHOOSE32W pafltrc
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterDetails32A(
|
|
|
|
HACMDRIVER32 had, PACMFILTERDETAILS32A pafd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterDetails32W(
|
|
|
|
HACMDRIVER32 had, PACMFILTERDETAILS32W pafd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterEnum32A(
|
|
|
|
HACMDRIVER32 had, PACMFILTERDETAILS32A pafd,
|
|
|
|
ACMFILTERENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterEnum32W(
|
|
|
|
HACMDRIVER32 had, PACMFILTERDETAILS32W pafd,
|
|
|
|
ACMFILTERENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterTagDetails32A(
|
|
|
|
HACMDRIVER32 had, PACMFILTERTAGDETAILS32A paftd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterTagDetails32W(
|
|
|
|
HACMDRIVER32 had, PACMFILTERTAGDETAILS32W paftd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterTagEnum32A(
|
|
|
|
HACMDRIVER32 had, PACMFILTERTAGDETAILS32A paftd,
|
|
|
|
ACMFILTERTAGENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFilterTagEnum32W(
|
|
|
|
HACMDRIVER32 had, PACMFILTERTAGDETAILS32W paftd,
|
|
|
|
ACMFILTERTAGENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatChoose32A(
|
|
|
|
PACMFORMATCHOOSE32A pafmtc
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatChoose32W(
|
|
|
|
PACMFORMATCHOOSE32W pafmtc
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatDetails32A(
|
|
|
|
HACMDRIVER32 had, PACMFORMATDETAILS32A pafd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatDetails32W(
|
|
|
|
HACMDRIVER32 had, PACMFORMATDETAILS32W pafd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatEnum32A(
|
|
|
|
HACMDRIVER32 had, PACMFORMATDETAILS32A pafd,
|
|
|
|
ACMFORMATENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatEnum32W(
|
|
|
|
HACMDRIVER32 had, PACMFORMATDETAILS32W pafd,
|
|
|
|
ACMFORMATENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatSuggest32(
|
1999-02-14 10:41:42 +01:00
|
|
|
HACMDRIVER32 had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD cbwfxDst, DWORD fdwSuggest
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatTagDetails32A(
|
|
|
|
HACMDRIVER32 had, PACMFORMATTAGDETAILS32A paftd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatTagDetails32W(
|
|
|
|
HACMDRIVER32 had, PACMFORMATTAGDETAILS32W paftd, DWORD fdwDetails
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatTagEnum32A(
|
|
|
|
HACMDRIVER32 had, PACMFORMATTAGDETAILS32A paftd,
|
|
|
|
ACMFORMATTAGENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmFormatTagEnum32W(
|
|
|
|
HACMDRIVER32 had, PACMFORMATTAGDETAILS32W paftd,
|
|
|
|
ACMFORMATTAGENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
|
|
);
|
|
|
|
DWORD WINAPI acmGetVersion32(
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmMetrics32(
|
|
|
|
HACMOBJ32 hao, UINT32 uMetric, LPVOID pMetric
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamClose32(
|
|
|
|
HACMSTREAM32 has, DWORD fdwClose
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamConvert32(
|
|
|
|
HACMSTREAM32 has, PACMSTREAMHEADER32 pash, DWORD fdwConvert
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamMessage32(
|
|
|
|
HACMSTREAM32 has, UINT32 uMsg, LPARAM lParam1, LPARAM lParam2
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamOpen32(
|
1999-02-14 10:41:42 +01:00
|
|
|
PHACMSTREAM32 phas, HACMDRIVER32 had, PWAVEFORMATEX pwfxSrc,
|
|
|
|
PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
|
1998-10-11 19:00:29 +02:00
|
|
|
DWORD dwInstance, DWORD fdwOpen
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamPrepareHeader32(
|
|
|
|
HACMSTREAM32 has, PACMSTREAMHEADER32 pash, DWORD fdwPrepare
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamReset32(
|
|
|
|
HACMSTREAM32 has, DWORD fdwReset
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamSize32(
|
|
|
|
HACMSTREAM32 has, DWORD cbInput,
|
|
|
|
LPDWORD pdwOutputBytes, DWORD fdwSize
|
|
|
|
);
|
|
|
|
MMRESULT32 WINAPI acmStreamUnprepareHeader32(
|
|
|
|
HACMSTREAM32 has, PACMSTREAMHEADER32 pash, DWORD fdwUnprepare
|
|
|
|
);
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Wine specific - Win32
|
|
|
|
*/
|
|
|
|
typedef struct _WINE_ACMBUILTINDRIVER32
|
|
|
|
{
|
|
|
|
LPSTR pszDriverAlias;
|
|
|
|
DRIVERPROC32 pfnDriverProc;
|
|
|
|
} WINE_ACMBUILTINDRIVER32, *PWINE_ACMBUILTINDRIVER32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMLOCALDRIVER32
|
|
|
|
{
|
|
|
|
DRIVERPROC32 pfnDriverProc;
|
|
|
|
} WINE_ACMLOCALDRIVER32, *PWINE_ACMLOCALDRIVER32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMDRIVERID32 *PWINE_ACMDRIVERID32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMOBJ32
|
|
|
|
{
|
|
|
|
PWINE_ACMDRIVERID32 pACMDriverID;
|
|
|
|
} WINE_ACMOBJ32, *PWINE_ACMOBJ32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMDRIVER32
|
|
|
|
{
|
|
|
|
WINE_ACMOBJ32 obj;
|
|
|
|
HDRVR32 hDrvr;
|
|
|
|
} WINE_ACMDRIVER32, *PWINE_ACMDRIVER32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMSTREAM32
|
|
|
|
{
|
|
|
|
WINE_ACMOBJ32 obj;
|
|
|
|
/* FIME: More fields needed */
|
|
|
|
} WINE_ACMSTREAM32, *PWINE_ACMSTREAM32;
|
|
|
|
|
|
|
|
typedef struct _WINE_ACMDRIVERID32
|
|
|
|
{
|
|
|
|
LPSTR pszDriverAlias;
|
|
|
|
LPSTR pszFileName;
|
|
|
|
PWINE_ACMLOCALDRIVER32 pACMLocalDriver;
|
|
|
|
BOOL32 bEnabled;
|
|
|
|
PWINE_ACMDRIVER32 pACMDriver; /* NULL if not open */
|
|
|
|
PWINE_ACMDRIVERID32 pNextACMDriverID;
|
|
|
|
PWINE_ACMDRIVERID32 pPreviousACMDriverID;
|
|
|
|
} WINE_ACMDRIVERID32;
|
|
|
|
|
|
|
|
/* From builtin.c */
|
|
|
|
extern WINE_ACMBUILTINDRIVER32 MSACM_BuiltinDrivers32[];
|
|
|
|
|
|
|
|
/* From interal.c */
|
|
|
|
extern HANDLE32 MSACM_hHeap32;
|
|
|
|
extern PWINE_ACMDRIVERID32 MSACM_pFirstACMDriverID32;
|
|
|
|
extern PWINE_ACMDRIVERID32 MSACM_pLastACMDriverID32;
|
|
|
|
PWINE_ACMDRIVERID32 MSACM_RegisterDriver32(
|
|
|
|
LPSTR pszDriverAlias, LPSTR pszFileName,
|
|
|
|
PWINE_ACMLOCALDRIVER32 pLocalDriver);
|
|
|
|
void MSACM_RegisterAllDrivers32();
|
|
|
|
PWINE_ACMDRIVERID32 MSACM_UnregisterDriver32(PWINE_ACMDRIVERID32 p);
|
|
|
|
void MSACM_UnregisterAllDrivers32();
|
|
|
|
PWINE_ACMDRIVERID32 MSACM_GetDriverID32(HACMDRIVERID32 hDriverID);
|
|
|
|
PWINE_ACMDRIVER32 MSACM_GetDriver32(HACMDRIVER32 hDriver);
|
|
|
|
PWINE_ACMOBJ32 MSACM_GetObj32(HACMOBJ32 hObj);
|
|
|
|
HDRVR32 MSACM_OpenDriverProc32(DRIVERPROC32 pfnDriverProc);
|
|
|
|
|
|
|
|
#endif /* __WINE_MSACM_H */
|
|
|
|
|
|
|
|
|