2 * msacm.h - Declarations for MSACM
13 /***********************************************************************
17 /* FIXME: Move to wintypes.h */
18 #define DECLARE_HANDLE(a) \
19 typedef HANDLE16 a##16; \
20 typedef HANDLE32 a##32; \
21 typedef a##16 *P##a##16; \
22 typedef a##16 *NP##a##16; \
23 typedef a##16 *LP##a##16; \
24 typedef a##32 *P##a##32;
26 DECLARE_HANDLE(HACMDRIVERID
);
27 DECLARE_HANDLE(HACMDRIVER
);
28 DECLARE_HANDLE(HACMSTREAM
);
29 DECLARE_HANDLE(HACMOBJ
);
31 /* FIXME: Remove when define moved to wintypes.h */
34 /***********************************************************************
38 #define ACMERR_BASE 512
39 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
40 #define ACMERR_BUSY (ACMERR_BASE + 1)
41 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
42 #define ACMERR_CANCELED (ACMERR_BASE + 3)
44 #define MM_ACM_OPEN MM_STREAM_OPEN
45 #define MM_ACM_CLOSE MM_STREAM_CLOSE
46 #define MM_ACM_DONE MM_STREAM_DONE
48 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
49 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
50 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
51 #define ACM_DRIVERADDF_LOCAL 0x00000000L
52 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
54 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
55 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
56 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
57 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
58 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
60 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
61 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
63 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
64 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
65 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
66 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
67 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
68 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
69 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
71 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
72 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
74 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
75 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
76 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
77 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
78 #define ACM_DRIVERPRIORITYF_END 0x00020000L
79 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
81 #define MM_ACM_FILTERCHOOSE 0x8000
83 #define FILTERCHOOSE_MESSAGE 0
84 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
85 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
86 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
88 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
89 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
90 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
91 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
92 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
93 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
95 #define ACMFILTERDETAILS_FILTER_CHARS 128
97 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
98 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
99 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
101 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
103 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
104 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
105 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
106 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
108 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
110 #define ACMHELPMSGSTRING32A "acmchoose_help"
111 #define ACMHELPMSGSTRING32W L"acmchoose_help"
112 #define ACMHELPMSGSTRING16 "acmchoose_help"
114 #define ACMHELPMSGCONTEXTMENU32A "acmchoose_contextmenu"
115 #define ACMHELPMSGCONTEXTMENU32W L"acmchoose_contextmenu"
116 #define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
118 #define ACMHELPMSGCONTEXTHELP32A "acmchoose_contexthelp"
119 #define ACMHELPMSGCONTEXTHELP32W L"acmchoose_contexthelp"
120 #define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"
122 #define MM_ACM_FORMATCHOOSE 0x8000
124 #define FORMATCHOOSE_MESSAGE 0
125 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
126 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
127 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
129 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
130 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
131 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
132 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
133 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
134 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
136 #define ACMFORMATDETAILS_FORMAT_CHARS 128
138 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
139 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
140 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
142 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
143 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
144 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
145 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
146 #define ACM_FORMATENUMF_CONVERT 0x00100000L
147 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
148 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
149 #define ACM_FORMATENUMF_INPUT 0x00800000L
150 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
152 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
153 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
154 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
155 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
156 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
158 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
160 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
161 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
162 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
163 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
165 #define ACM_METRIC_COUNT_DRIVERS 1
166 #define ACM_METRIC_COUNT_CODECS 2
167 #define ACM_METRIC_COUNT_CONVERTERS 3
168 #define ACM_METRIC_COUNT_FILTERS 4
169 #define ACM_METRIC_COUNT_DISABLED 5
170 #define ACM_METRIC_COUNT_HARDWARE 6
171 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
172 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
173 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
174 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
175 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
176 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
177 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
178 #define ACM_METRIC_MAX_SIZE_FORMAT 50
179 #define ACM_METRIC_MAX_SIZE_FILTER 51
180 #define ACM_METRIC_DRIVER_SUPPORT 100
181 #define ACM_METRIC_DRIVER_PRIORITY 101
183 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
184 #define ACM_STREAMCONVERTF_START 0x00000010
185 #define ACM_STREAMCONVERTF_END 0x00000020
187 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
188 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
189 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
191 #define ACM_STREAMOPENF_QUERY 0x00000001
192 #define ACM_STREAMOPENF_ASYNC 0x00000002
193 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
195 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
196 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
197 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
199 #define ACMDM_USER (DRV_USER + 0x0000)
200 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
201 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
203 #define ACMDM_BASE ACMDM_RESERVED_LOW
205 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
207 /***********************************************************************
211 typedef BOOL32 (CALLBACK
*ACMDRIVERENUMCB32
)(
212 HACMDRIVERID32 hadid
, DWORD dwInstance
, DWORD fdwSupport
215 typedef BOOL16 (CALLBACK
*ACMDRIVERENUMCB16
)(
216 HACMDRIVERID16 hadid
, DWORD dwInstance
, DWORD fdwSupport
219 typedef UINT32 (CALLBACK
*ACMFILTERCHOOSEHOOKPROC32A
)(
220 HWND32 hwnd
, UINT32 uMsg
, WPARAM32 wParam
, LPARAM lParam
223 typedef UINT32 (CALLBACK
*ACMFILTERCHOOSEHOOKPROC32W
)(
224 HWND32 hwnd
, UINT32 uMsg
, WPARAM32 wParam
, LPARAM lParam
227 typedef UINT32 (CALLBACK
*ACMFILTERCHOOSEHOOKPROC16
)(
228 HWND32 hwnd
, UINT32 uMsg
, WPARAM32 wParam
, LPARAM lParam
231 typedef UINT32 (CALLBACK
*ACMFORMATCHOOSEHOOKPROC32A
)(
232 HWND32 hwnd
, UINT32 uMsg
, WPARAM32 wParam
, LPARAM lParam
235 typedef UINT32 (CALLBACK
*ACMFORMATCHOOSEHOOKPROC32W
)(
236 HWND32 hwnd
, UINT32 uMsg
, WPARAM32 wParam
, LPARAM lParam
239 typedef UINT16 (CALLBACK
*ACMFORMATCHOOSEHOOKPROC16
)(
240 HWND16 hwnd
, UINT16 uMsg
, WPARAM16 wParam
, LPARAM lParam
243 /***********************************************************************
247 typedef struct _ACMDRIVERDETAILS32A
266 CHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
267 CHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
268 CHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
269 CHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
270 CHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
271 } ACMDRIVERDETAILS32A
, *PACMDRIVERDETAILS32A
;
273 typedef struct _ACMDRIVERDETAILS32W
292 WCHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
293 WCHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
294 WCHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
295 WCHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
296 WCHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
297 } ACMDRIVERDETAILS32W
, *PACMDRIVERDETAILS32W
;
299 typedef struct _ACMDRIVERDETAILS16
318 CHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
319 CHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
320 CHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
321 CHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
322 CHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
323 } ACMDRIVERDETAILS16
, *NPACMDRIVERDETAILS16
, *LPACMDRIVERDETAILS16
;
325 typedef struct _ACMFILTERCHOOSE32A
332 PWAVEFILTER32 pwfltr
;
337 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
338 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
343 PWAVEFILTER32 pwfltrEnum
;
345 HINSTANCE32 hInstance
;
346 LPCSTR pszTemplateName
;
348 ACMFILTERCHOOSEHOOKPROC32A pfnHook
;
349 } ACMFILTERCHOOSE32A
, *PACMFILTERCHOOSE32A
;
351 typedef struct _ACMFILTERCHOOSE32W
358 PWAVEFILTER32 pwfltr
;
363 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
364 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
369 PWAVEFILTER32 pwfltrEnum
;
371 HINSTANCE32 hInstance
;
372 LPCWSTR pszTemplateName
;
374 ACMFILTERCHOOSEHOOKPROC32W pfnHook
;
375 } ACMFILTERCHOOSE32W
, *PACMFILTERCHOOSE32W
;
377 typedef struct _ACMFILTERCHOOSE16
384 LPWAVEFILTER16 pwfltr
;
389 char szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
390 char szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
395 LPWAVEFILTER16 pwfltrEnum
;
397 HINSTANCE16 hInstance
;
398 LPCSTR pszTemplateName
;
400 ACMFILTERCHOOSEHOOKPROC16 pfnHook
;
401 } ACMFILTERCHOOSE16
, *NPACMFILTERCHOOSE16
, *LPACMFILTERCHOOSE16
;
403 typedef struct _ACMFILTERDETAILS32A
409 PWAVEFILTER32 pwfltr
;
411 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
412 } ACMFILTERDETAILS32A
, *PACMFILTERDETAILS32A
;
414 typedef struct _ACMFILTERDETAILS32W
420 PWAVEFILTER32 pwfltr
;
422 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
423 } ACMFILTERDETAILS32W
, *PACMFILTERDETAILS32W
;
425 typedef struct _ACMFILTERDETAILS16
431 LPWAVEFILTER16 pwfltr
;
433 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
434 } ACMFILTERDETAILS16
, *NPACMFILTERDETAILS16
, *LPACMFILTERDETAILS16
;
436 typedef struct _ACMFILTERTAGDETAILS32A
439 DWORD dwFilterTagIndex
;
443 DWORD cStandardFilters
;
444 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
445 } ACMFILTERTAGDETAILS32A
, *PACMFILTERTAGDETAILS32A
;
447 typedef struct _ACMFILTERTAGDETAILS32W
450 DWORD dwFilterTagIndex
;
454 DWORD cStandardFilters
;
455 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
456 } ACMFILTERTAGDETAILS32W
, *PACMFILTERTAGDETAILS32W
;
458 typedef struct _ACMFILTERTAGDETAILS16
461 DWORD dwFilterTagIndex
;
465 DWORD cStandardFilters
;
466 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
467 } ACMFILTERTAGDETAILS16
, *NPACMFILTERTAGDETAILS16
, *LPACMFILTERTAGDETAILS16
;
469 typedef struct _ACMFORMATCHOOSE32A
476 PWAVEFORMATEX32 pwfx
;
480 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
481 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
487 PWAVEFORMATEX32 pwfxEnum
;
489 HINSTANCE32 hInstance
;
490 LPCSTR pszTemplateName
;
492 ACMFORMATCHOOSEHOOKPROC32A pfnHook
;
493 } ACMFORMATCHOOSE32A
, *PACMFORMATCHOOSE32A
;
495 typedef struct _ACMFORMATCHOOSE32W
502 PWAVEFORMATEX32 pwfx
;
506 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
507 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
513 LPWAVEFORMATEX pwfxEnum
;
515 HINSTANCE32 hInstance
;
516 LPCWSTR pszTemplateName
;
518 ACMFORMATCHOOSEHOOKPROC32W pfnHook
;
519 } ACMFORMATCHOOSE32W
, *PACMFORMATCHOOSE32W
;
521 typedef struct _ACMFORMATCHOOSE16
528 LPWAVEFORMATEX16 pwfx
;
532 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
533 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
539 LPWAVEFORMATEX16 pwfxEnum
;
541 HINSTANCE16 hInstance
;
542 LPCSTR pszTemplateName
;
544 ACMFORMATCHOOSEHOOKPROC16 pfnHook
;
545 } ACMFORMATCHOOSE16
, *NPACMFORMATCHOOSE16
, *LPACMFORMATCHOOSE16
;
547 typedef struct _ACMFORMATDETAILS32A
553 PWAVEFORMATEX32 pwfx
;
555 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
556 } ACMFORMATDETAILS32A
, *PACMFORMATDETAILS32A
;
558 typedef struct _ACMFORMATDETAILS32W
564 PWAVEFORMATEX32 pwfx
;
566 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
567 } ACMFORMATDETAILS32W
, *PACMFORMATDETAILS32W
;
569 typedef struct _ACMFORMATDETAILS16
575 LPWAVEFORMATEX16 pwfx
;
577 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
578 } ACMFORMATDETAILS16
, *NPACMFORMATDETAILS16
, *LPACMFORMATDETAILS16
;
580 typedef struct _ACMFORMATTAGDETAILS32A
583 DWORD dwFormatTagIndex
;
587 DWORD cStandardFormats
;
588 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
589 } ACMFORMATTAGDETAILS32A
, *PACMFORMATTAGDETAILS32A
;
591 typedef struct _ACMFORMATTAGDETAILS32W
594 DWORD dwFormatTagIndex
;
598 DWORD cStandardFormats
;
599 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
600 } ACMFORMATTAGDETAILS32W
, *PACMFORMATTAGDETAILS32W
;
602 typedef struct _ACMFORMATTAGDETAILS16
605 DWORD dwFormatTagIndex
;
609 DWORD cStandardFormats
;
610 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
611 } ACMFORMATTAGDETAILS16
, *NPACMFORMATTAGDETAILS16
, *LPACMFORMATTAGDETAILS16
;
613 typedef struct _ACMSTREAMHEADER
620 DWORD cbSrcLengthUsed
;
624 DWORD cbDstLengthUsed
;
626 DWORD dwReservedDriver
[10];
627 } ACMSTREAMHEADER16
, *NPACMSTREAMHEADER16
, *LPACMSTREAMHEADER16
,
628 ACMSTREAMHEADER32
, *PACMSTREAMHEADER32
;
630 /***********************************************************************
634 typedef BOOL32 (CALLBACK
*ACMFILTERENUMCB32A
)(
635 HACMDRIVERID32 hadid
, PACMFILTERDETAILS32A pafd
,
636 DWORD dwInstance
, DWORD fdwSupport
639 typedef BOOL32 (CALLBACK
*ACMFILTERENUMCB32W
)(
640 HACMDRIVERID32 hadid
, PACMFILTERDETAILS32W pafd
,
641 DWORD dwInstance
, DWORD fdwSupport
644 typedef BOOL16 (CALLBACK
*ACMFILTERENUMCB16
)(
645 HACMDRIVERID16 hadid
, LPACMFILTERDETAILS16 pafd
,
646 DWORD dwInstance
, DWORD fdwSupport
649 typedef BOOL32 (CALLBACK
*ACMFILTERTAGENUMCB32A
)(
650 HACMDRIVERID32 hadid
, PACMFILTERTAGDETAILS32A paftd
,
651 DWORD dwInstance
, DWORD fdwSupport
654 typedef BOOL32 (CALLBACK
*ACMFILTERTAGENUMCB32W
)(
655 HACMDRIVERID32 hadid
, PACMFILTERTAGDETAILS32W paftd
,
656 DWORD dwInstance
, DWORD fdwSupport
659 typedef BOOL16 (CALLBACK
*ACMFILTERTAGENUMCB16
)(
660 HACMDRIVERID16 hadid
, LPACMFILTERTAGDETAILS16 paftd
,
661 DWORD dwInstance
, DWORD fdwSupport
664 typedef BOOL32 (CALLBACK
*ACMFORMATENUMCB32A
)(
665 HACMDRIVERID32 hadid
, PACMFORMATDETAILS32A pafd
,
666 DWORD dwInstance
, DWORD fdwSupport
669 typedef BOOL32 (CALLBACK
*ACMFORMATENUMCB32W
)(
670 HACMDRIVERID32 hadid
, PACMFORMATDETAILS32W pafd
,
671 DWORD dwInstance
, DWORD fdwSupport
674 typedef BOOL16 (CALLBACK
*ACMFORMATENUMCB16
)(
675 HACMDRIVERID16 hadid
, LPACMFORMATDETAILS16 pafd
,
676 DWORD dwInstance
, DWORD fdwSupport
679 typedef BOOL32 (CALLBACK
*ACMFORMATTAGENUMCB32A
)(
680 HACMDRIVERID32 hadid
, PACMFORMATTAGDETAILS32A paftd
,
681 DWORD dwInstance
, DWORD fdwSupport
684 typedef BOOL32 (CALLBACK
*ACMFORMATTAGENUMCB32W
)(
685 HACMDRIVERID32 hadid
, PACMFORMATTAGDETAILS32W paftd
,
686 DWORD dwInstance
, DWORD fdwSupport
689 typedef BOOL16 (CALLBACK
*ACMFORMATTAGENUMCB16
)(
690 HACMDRIVERID16 hadid
, LPACMFORMATTAGDETAILS16 paftd
,
691 DWORD dwInstance
, DWORD fdwSupport
694 /***********************************************************************
698 DWORD WINAPI
acmGetVersion16(
700 MMRESULT16 WINAPI
acmMetrics16(
701 HACMOBJ16 hao
, UINT16 uMetric
, LPVOID pMetric
703 MMRESULT16 WINAPI
acmDriverEnum16(
704 ACMDRIVERENUMCB16 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
706 MMRESULT16 WINAPI
acmDriverDetails16(
707 HACMDRIVERID16 hadid
, LPACMDRIVERDETAILS16 padd
, DWORD fdwDetails
709 MMRESULT16 WINAPI
acmDriverAdd16(
710 LPHACMDRIVERID16 phadid
, HINSTANCE16 hinstModule
,
711 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
713 MMRESULT16 WINAPI
acmDriverRemove16(
714 HACMDRIVERID16 hadid
, DWORD fdwRemove
716 MMRESULT16 WINAPI
acmDriverOpen16(
717 LPHACMDRIVER16 phad
, HACMDRIVERID16 hadid
, DWORD fdwOpen
719 MMRESULT16 WINAPI
acmDriverClose16(
720 HACMDRIVER16 had
, DWORD fdwClose
722 LRESULT WINAPI
acmDriverMessage16(
723 HACMDRIVER16 had
, UINT16 uMsg
, LPARAM lParam1
, LPARAM lParam2
725 MMRESULT16 WINAPI
acmDriverID16(
726 HACMOBJ16 hao
, LPHACMDRIVERID16 phadid
, DWORD fdwDriverID
728 MMRESULT16 WINAPI
acmDriverPriority16(
729 HACMDRIVERID16 hadid
, DWORD dwPriority
, DWORD fdwPriority
731 MMRESULT16 WINAPI
acmFormatTagDetails16(
732 HACMDRIVER16 had
, LPACMFORMATTAGDETAILS16 paftd
, DWORD fdwDetails
734 MMRESULT16 WINAPI
acmFormatTagEnum16(
735 HACMDRIVER16 had
, LPACMFORMATTAGDETAILS16 paftd
,
736 ACMFORMATTAGENUMCB16 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
738 MMRESULT16 WINAPI
acmFormatChoose16(
739 LPACMFORMATCHOOSE16 pafmtc
741 MMRESULT16 WINAPI
acmFormatDetails16(
742 HACMDRIVER16 had
, LPACMFORMATDETAILS16 pafd
, DWORD fdwDetails
744 MMRESULT16 WINAPI
acmFormatEnum16(
745 HACMDRIVER16 had
, LPACMFORMATDETAILS16 pafd
,
746 ACMFORMATENUMCB16 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
748 MMRESULT16 WINAPI
acmFormatSuggest16(
749 HACMDRIVER16 had
, LPWAVEFORMATEX16 pwfxSrc
,
750 LPWAVEFORMATEX16 pwfxDst
, DWORD cbwfxDst
, DWORD fdwSuggest
752 MMRESULT16 WINAPI
acmFilterTagDetails16(
753 HACMDRIVER16 had
, LPACMFILTERTAGDETAILS16 paftd
, DWORD fdwDetails
755 MMRESULT16 WINAPI
acmFilterTagEnum16(
756 HACMDRIVER16 had
, LPACMFILTERTAGDETAILS16 paftd
,
757 ACMFILTERTAGENUMCB16 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
759 MMRESULT16 WINAPI
acmFilterChoose16(
760 LPACMFILTERCHOOSE16 pafltrc
762 MMRESULT16 WINAPI
acmFilterDetails16(
763 HACMDRIVER16 had
, LPACMFILTERDETAILS16 pafd
, DWORD fdwDetails
765 MMRESULT16 WINAPI
acmFilterEnum16(
766 HACMDRIVER16 had
, LPACMFILTERDETAILS16 pafd
,
767 ACMFILTERENUMCB16 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
769 MMRESULT16 WINAPI
acmStreamOpen16(
770 LPHACMSTREAM16 phas
, HACMDRIVER16 had
,
771 LPWAVEFORMATEX16 pwfxSrc
, LPWAVEFORMATEX16 pwfxDst
,
772 LPWAVEFILTER16 pwfltr
, DWORD dwCallback
,
773 DWORD dwInstance
, DWORD fdwOpen
775 MMRESULT16 WINAPI
acmStreamClose16(
776 HACMSTREAM16 has
, DWORD fdwClose
778 MMRESULT16 WINAPI
acmStreamSize16(
779 HACMSTREAM16 has
, DWORD cbInput
,
780 LPDWORD pdwOutputBytes
, DWORD fdwSize
782 MMRESULT16 WINAPI
acmStreamConvert16(
783 HACMSTREAM16 has
, LPACMSTREAMHEADER16 pash
, DWORD fdwConvert
785 MMRESULT16 WINAPI
acmStreamReset16(
786 HACMSTREAM16 has
, DWORD fdwReset
788 MMRESULT16 WINAPI
acmStreamPrepareHeader16(
789 HACMSTREAM16 has
, LPACMSTREAMHEADER16 pash
, DWORD fdwPrepare
791 MMRESULT16 WINAPI
acmStreamUnprepareHeader16(
792 HACMSTREAM16 has
, LPACMSTREAMHEADER16 pash
, DWORD fdwUnprepare
795 /***********************************************************************
799 MMRESULT32 WINAPI
acmDriverAdd32A(
800 PHACMDRIVERID32 phadid
, HINSTANCE32 hinstModule
,
801 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
803 MMRESULT32 WINAPI
acmDriverAdd32W(
804 PHACMDRIVERID32 phadid
, HINSTANCE32 hinstModule
,
805 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
807 MMRESULT32 WINAPI
acmDriverClose32(
808 HACMDRIVER32 had
, DWORD fdwClose
810 MMRESULT32 WINAPI
acmDriverDetails32A(
811 HACMDRIVERID32 hadid
, PACMDRIVERDETAILS32A padd
, DWORD fdwDetails
813 MMRESULT32 WINAPI
acmDriverDetails32W(
814 HACMDRIVERID32 hadid
, PACMDRIVERDETAILS32W padd
, DWORD fdwDetails
816 MMRESULT32 WINAPI
acmDriverEnum32(
817 ACMDRIVERENUMCB32 fnCallback
, DWORD dwInstance
, DWORD fdwEnum
819 MMRESULT32 WINAPI
acmDriverID32(
820 HACMOBJ32 hao
, PHACMDRIVERID32 phadid
, DWORD fdwDriverID
822 LRESULT WINAPI
acmDriverMessage32(
823 HACMDRIVER32 had
, UINT32 uMsg
, LPARAM lParam1
, LPARAM lParam2
825 MMRESULT32 WINAPI
acmDriverOpen32(
826 PHACMDRIVER32 phad
, HACMDRIVERID32 hadid
, DWORD fdwOpen
828 MMRESULT32 WINAPI
acmDriverPriority32(
829 HACMDRIVERID32 hadid
, DWORD dwPriority
, DWORD fdwPriority
831 MMRESULT32 WINAPI
acmDriverRemove32(
832 HACMDRIVERID32 hadid
, DWORD fdwRemove
834 MMRESULT32 WINAPI
acmFilterChoose32A(
835 PACMFILTERCHOOSE32A pafltrc
837 MMRESULT32 WINAPI
acmFilterChoose32W(
838 PACMFILTERCHOOSE32W pafltrc
840 MMRESULT32 WINAPI
acmFilterDetails32A(
841 HACMDRIVER32 had
, PACMFILTERDETAILS32A pafd
, DWORD fdwDetails
843 MMRESULT32 WINAPI
acmFilterDetails32W(
844 HACMDRIVER32 had
, PACMFILTERDETAILS32W pafd
, DWORD fdwDetails
846 MMRESULT32 WINAPI
acmFilterEnum32A(
847 HACMDRIVER32 had
, PACMFILTERDETAILS32A pafd
,
848 ACMFILTERENUMCB32A fnCallback
, DWORD dwInstance
, DWORD fdwEnum
850 MMRESULT32 WINAPI
acmFilterEnum32W(
851 HACMDRIVER32 had
, PACMFILTERDETAILS32W pafd
,
852 ACMFILTERENUMCB32W fnCallback
, DWORD dwInstance
, DWORD fdwEnum
854 MMRESULT32 WINAPI
acmFilterTagDetails32A(
855 HACMDRIVER32 had
, PACMFILTERTAGDETAILS32A paftd
, DWORD fdwDetails
857 MMRESULT32 WINAPI
acmFilterTagDetails32W(
858 HACMDRIVER32 had
, PACMFILTERTAGDETAILS32W paftd
, DWORD fdwDetails
860 MMRESULT32 WINAPI
acmFilterTagEnum32A(
861 HACMDRIVER32 had
, PACMFILTERTAGDETAILS32A paftd
,
862 ACMFILTERTAGENUMCB32A fnCallback
, DWORD dwInstance
, DWORD fdwEnum
864 MMRESULT32 WINAPI
acmFilterTagEnum32W(
865 HACMDRIVER32 had
, PACMFILTERTAGDETAILS32W paftd
,
866 ACMFILTERTAGENUMCB32W fnCallback
, DWORD dwInstance
, DWORD fdwEnum
868 MMRESULT32 WINAPI
acmFormatChoose32A(
869 PACMFORMATCHOOSE32A pafmtc
871 MMRESULT32 WINAPI
acmFormatChoose32W(
872 PACMFORMATCHOOSE32W pafmtc
874 MMRESULT32 WINAPI
acmFormatDetails32A(
875 HACMDRIVER32 had
, PACMFORMATDETAILS32A pafd
, DWORD fdwDetails
877 MMRESULT32 WINAPI
acmFormatDetails32W(
878 HACMDRIVER32 had
, PACMFORMATDETAILS32W pafd
, DWORD fdwDetails
880 MMRESULT32 WINAPI
acmFormatEnum32A(
881 HACMDRIVER32 had
, PACMFORMATDETAILS32A pafd
,
882 ACMFORMATENUMCB32A fnCallback
, DWORD dwInstance
, DWORD fdwEnum
884 MMRESULT32 WINAPI
acmFormatEnum32W(
885 HACMDRIVER32 had
, PACMFORMATDETAILS32W pafd
,
886 ACMFORMATENUMCB32W fnCallback
, DWORD dwInstance
, DWORD fdwEnum
888 MMRESULT32 WINAPI
acmFormatSuggest32(
889 HACMDRIVER32 had
, PWAVEFORMATEX32 pwfxSrc
, PWAVEFORMATEX32 pwfxDst
,
890 DWORD cbwfxDst
, DWORD fdwSuggest
892 MMRESULT32 WINAPI
acmFormatTagDetails32A(
893 HACMDRIVER32 had
, PACMFORMATTAGDETAILS32A paftd
, DWORD fdwDetails
895 MMRESULT32 WINAPI
acmFormatTagDetails32W(
896 HACMDRIVER32 had
, PACMFORMATTAGDETAILS32W paftd
, DWORD fdwDetails
898 MMRESULT32 WINAPI
acmFormatTagEnum32A(
899 HACMDRIVER32 had
, PACMFORMATTAGDETAILS32A paftd
,
900 ACMFORMATTAGENUMCB32A fnCallback
, DWORD dwInstance
, DWORD fdwEnum
902 MMRESULT32 WINAPI
acmFormatTagEnum32W(
903 HACMDRIVER32 had
, PACMFORMATTAGDETAILS32W paftd
,
904 ACMFORMATTAGENUMCB32W fnCallback
, DWORD dwInstance
, DWORD fdwEnum
906 DWORD WINAPI
acmGetVersion32(
908 MMRESULT32 WINAPI
acmMetrics32(
909 HACMOBJ32 hao
, UINT32 uMetric
, LPVOID pMetric
911 MMRESULT32 WINAPI
acmStreamClose32(
912 HACMSTREAM32 has
, DWORD fdwClose
914 MMRESULT32 WINAPI
acmStreamConvert32(
915 HACMSTREAM32 has
, PACMSTREAMHEADER32 pash
, DWORD fdwConvert
917 MMRESULT32 WINAPI
acmStreamMessage32(
918 HACMSTREAM32 has
, UINT32 uMsg
, LPARAM lParam1
, LPARAM lParam2
920 MMRESULT32 WINAPI
acmStreamOpen32(
921 PHACMSTREAM32 phas
, HACMDRIVER32 had
, PWAVEFORMATEX32 pwfxSrc
,
922 PWAVEFORMATEX32 pwfxDst
, PWAVEFILTER32 pwfltr
, DWORD dwCallback
,
923 DWORD dwInstance
, DWORD fdwOpen
925 MMRESULT32 WINAPI
acmStreamPrepareHeader32(
926 HACMSTREAM32 has
, PACMSTREAMHEADER32 pash
, DWORD fdwPrepare
928 MMRESULT32 WINAPI
acmStreamReset32(
929 HACMSTREAM32 has
, DWORD fdwReset
931 MMRESULT32 WINAPI
acmStreamSize32(
932 HACMSTREAM32 has
, DWORD cbInput
,
933 LPDWORD pdwOutputBytes
, DWORD fdwSize
935 MMRESULT32 WINAPI
acmStreamUnprepareHeader32(
936 HACMSTREAM32 has
, PACMSTREAMHEADER32 pash
, DWORD fdwUnprepare
939 /***********************************************************************
940 * Wine specific - Win32
942 typedef struct _WINE_ACMBUILTINDRIVER32
944 LPSTR pszDriverAlias
;
945 DRIVERPROC32 pfnDriverProc
;
946 } WINE_ACMBUILTINDRIVER32
, *PWINE_ACMBUILTINDRIVER32
;
948 typedef struct _WINE_ACMLOCALDRIVER32
950 DRIVERPROC32 pfnDriverProc
;
951 } WINE_ACMLOCALDRIVER32
, *PWINE_ACMLOCALDRIVER32
;
953 typedef struct _WINE_ACMDRIVERID32
*PWINE_ACMDRIVERID32
;
955 typedef struct _WINE_ACMOBJ32
957 PWINE_ACMDRIVERID32 pACMDriverID
;
958 } WINE_ACMOBJ32
, *PWINE_ACMOBJ32
;
960 typedef struct _WINE_ACMDRIVER32
964 } WINE_ACMDRIVER32
, *PWINE_ACMDRIVER32
;
966 typedef struct _WINE_ACMSTREAM32
969 /* FIME: More fields needed */
970 } WINE_ACMSTREAM32
, *PWINE_ACMSTREAM32
;
972 typedef struct _WINE_ACMDRIVERID32
974 LPSTR pszDriverAlias
;
976 PWINE_ACMLOCALDRIVER32 pACMLocalDriver
;
978 PWINE_ACMDRIVER32 pACMDriver
; /* NULL if not open */
979 PWINE_ACMDRIVERID32 pNextACMDriverID
;
980 PWINE_ACMDRIVERID32 pPreviousACMDriverID
;
981 } WINE_ACMDRIVERID32
;
984 extern WINE_ACMBUILTINDRIVER32 MSACM_BuiltinDrivers32
[];
987 extern HANDLE32 MSACM_hHeap32
;
988 extern PWINE_ACMDRIVERID32 MSACM_pFirstACMDriverID32
;
989 extern PWINE_ACMDRIVERID32 MSACM_pLastACMDriverID32
;
990 PWINE_ACMDRIVERID32
MSACM_RegisterDriver32(
991 LPSTR pszDriverAlias
, LPSTR pszFileName
,
992 PWINE_ACMLOCALDRIVER32 pLocalDriver
);
993 void MSACM_RegisterAllDrivers32();
994 PWINE_ACMDRIVERID32
MSACM_UnregisterDriver32(PWINE_ACMDRIVERID32 p
);
995 void MSACM_UnregisterAllDrivers32();
996 PWINE_ACMDRIVERID32
MSACM_GetDriverID32(HACMDRIVERID32 hDriverID
);
997 PWINE_ACMDRIVER32
MSACM_GetDriver32(HACMDRIVER32 hDriver
);
998 PWINE_ACMOBJ32
MSACM_GetObj32(HACMOBJ32 hObj
);
999 HDRVR32
MSACM_OpenDriverProc32(DRIVERPROC32 pfnDriverProc
);
1001 #endif /* __WINE_MSACM_H */