2 * msacm.h - Declarations for MSACM
13 /***********************************************************************
17 /* FIXME: Move to windef.h */
18 #define DECLARE_HANDLE(a) \
19 typedef HANDLE16 a##16; \
21 typedef a##16 *P##a##16; \
22 typedef a##16 *NP##a##16; \
23 typedef a##16 *LP##a##16; \
26 DECLARE_HANDLE(HACMDRIVERID
)
27 DECLARE_HANDLE(HACMDRIVER
)
28 DECLARE_HANDLE(HACMSTREAM
)
29 DECLARE_HANDLE(HACMOBJ
)
31 /* FIXME: Remove when define moved to windef.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 ACMHELPMSGSTRINGA "acmchoose_help"
111 #define ACMHELPMSGSTRINGW L"acmchoose_help"
112 #define ACMHELPMSGSTRING16 "acmchoose_help"
114 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
115 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
116 #define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
118 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
119 #define ACMHELPMSGCONTEXTHELPW 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 BOOL (CALLBACK
*ACMDRIVERENUMCB
)(
212 HACMDRIVERID hadid
, DWORD dwInstance
, DWORD fdwSupport
215 typedef BOOL16 (CALLBACK
*ACMDRIVERENUMCB16
)(
216 HACMDRIVERID16 hadid
, DWORD dwInstance
, DWORD fdwSupport
219 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCA
)(
220 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
223 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCW
)(
224 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
227 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROC16
)(
228 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
231 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCA
)(
232 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
235 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCW
)(
236 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
239 typedef UINT16 (CALLBACK
*ACMFORMATCHOOSEHOOKPROC16
)(
240 HWND16 hwnd
, UINT16 uMsg
, WPARAM16 wParam
, LPARAM lParam
243 /***********************************************************************
247 typedef struct _ACMDRIVERDETAILSA
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 } ACMDRIVERDETAILSA
, *PACMDRIVERDETAILSA
;
273 typedef struct _ACMDRIVERDETAILSW
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 } ACMDRIVERDETAILSW
, *PACMDRIVERDETAILSW
;
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 _ACMFILTERCHOOSEA
337 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
338 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
343 PWAVEFILTER pwfltrEnum
;
346 LPCSTR pszTemplateName
;
348 ACMFILTERCHOOSEHOOKPROCA pfnHook
;
349 } ACMFILTERCHOOSEA
, *PACMFILTERCHOOSEA
;
351 typedef struct _ACMFILTERCHOOSEW
363 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
364 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
369 PWAVEFILTER pwfltrEnum
;
372 LPCWSTR pszTemplateName
;
374 ACMFILTERCHOOSEHOOKPROCW pfnHook
;
375 } ACMFILTERCHOOSEW
, *PACMFILTERCHOOSEW
;
377 typedef struct _ACMFILTERCHOOSE16
389 char szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
390 char szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
395 LPWAVEFILTER pwfltrEnum
;
397 HINSTANCE16 hInstance
;
398 LPCSTR pszTemplateName
;
400 ACMFILTERCHOOSEHOOKPROC16 pfnHook
;
401 } ACMFILTERCHOOSE16
, *NPACMFILTERCHOOSE16
, *LPACMFILTERCHOOSE16
;
403 typedef struct _ACMFILTERDETAILSA
411 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
412 } ACMFILTERDETAILSA
, *PACMFILTERDETAILSA
;
414 typedef struct _ACMFILTERDETAILSW
422 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
423 } ACMFILTERDETAILSW
, *PACMFILTERDETAILSW
;
425 typedef struct _ACMFILTERDETAILS16
433 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
434 } ACMFILTERDETAILS16
, *NPACMFILTERDETAILS16
, *LPACMFILTERDETAILS16
;
436 typedef struct _ACMFILTERTAGDETAILSA
439 DWORD dwFilterTagIndex
;
443 DWORD cStandardFilters
;
444 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
445 } ACMFILTERTAGDETAILSA
, *PACMFILTERTAGDETAILSA
;
447 typedef struct _ACMFILTERTAGDETAILSW
450 DWORD dwFilterTagIndex
;
454 DWORD cStandardFilters
;
455 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
456 } ACMFILTERTAGDETAILSW
, *PACMFILTERTAGDETAILSW
;
458 typedef struct _ACMFILTERTAGDETAILS16
461 DWORD dwFilterTagIndex
;
465 DWORD cStandardFilters
;
466 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
467 } ACMFILTERTAGDETAILS16
, *NPACMFILTERTAGDETAILS16
, *LPACMFILTERTAGDETAILS16
;
469 typedef struct _ACMFORMATCHOOSEA
480 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
481 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
487 PWAVEFORMATEX pwfxEnum
;
490 LPCSTR pszTemplateName
;
492 ACMFORMATCHOOSEHOOKPROCA pfnHook
;
493 } ACMFORMATCHOOSEA
, *PACMFORMATCHOOSEA
;
495 typedef struct _ACMFORMATCHOOSEW
506 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
507 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
513 LPWAVEFORMATEX pwfxEnum
;
516 LPCWSTR pszTemplateName
;
518 ACMFORMATCHOOSEHOOKPROCW pfnHook
;
519 } ACMFORMATCHOOSEW
, *PACMFORMATCHOOSEW
;
521 typedef struct _ACMFORMATCHOOSE16
532 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
533 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
539 LPWAVEFORMATEX pwfxEnum
;
541 HINSTANCE16 hInstance
;
542 LPCSTR pszTemplateName
;
544 ACMFORMATCHOOSEHOOKPROC16 pfnHook
;
545 } ACMFORMATCHOOSE16
, *NPACMFORMATCHOOSE16
, *LPACMFORMATCHOOSE16
;
547 typedef struct _ACMFORMATDETAILSA
555 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
556 } ACMFORMATDETAILSA
, *PACMFORMATDETAILSA
;
558 typedef struct _ACMFORMATDETAILSW
566 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
567 } ACMFORMATDETAILSW
, *PACMFORMATDETAILSW
;
569 typedef struct _ACMFORMATDETAILS16
577 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
578 } ACMFORMATDETAILS16
, *NPACMFORMATDETAILS16
, *LPACMFORMATDETAILS16
;
580 typedef struct _ACMFORMATTAGDETAILSA
583 DWORD dwFormatTagIndex
;
587 DWORD cStandardFormats
;
588 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
589 } ACMFORMATTAGDETAILSA
, *PACMFORMATTAGDETAILSA
;
591 typedef struct _ACMFORMATTAGDETAILSW
594 DWORD dwFormatTagIndex
;
598 DWORD cStandardFormats
;
599 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
600 } ACMFORMATTAGDETAILSW
, *PACMFORMATTAGDETAILSW
;
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 ACMSTREAMHEADER
, *PACMSTREAMHEADER
;
630 /***********************************************************************
634 typedef BOOL (CALLBACK
*ACMFILTERENUMCBA
)(
635 HACMDRIVERID hadid
, PACMFILTERDETAILSA pafd
,
636 DWORD dwInstance
, DWORD fdwSupport
639 typedef BOOL (CALLBACK
*ACMFILTERENUMCBW
)(
640 HACMDRIVERID hadid
, PACMFILTERDETAILSW pafd
,
641 DWORD dwInstance
, DWORD fdwSupport
644 typedef BOOL16 (CALLBACK
*ACMFILTERENUMCB16
)(
645 HACMDRIVERID16 hadid
, LPACMFILTERDETAILS16 pafd
,
646 DWORD dwInstance
, DWORD fdwSupport
649 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBA
)(
650 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSA paftd
,
651 DWORD dwInstance
, DWORD fdwSupport
654 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBW
)(
655 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSW paftd
,
656 DWORD dwInstance
, DWORD fdwSupport
659 typedef BOOL16 (CALLBACK
*ACMFILTERTAGENUMCB16
)(
660 HACMDRIVERID16 hadid
, LPACMFILTERTAGDETAILS16 paftd
,
661 DWORD dwInstance
, DWORD fdwSupport
664 typedef BOOL (CALLBACK
*ACMFORMATENUMCBA
)(
665 HACMDRIVERID hadid
, PACMFORMATDETAILSA pafd
,
666 DWORD dwInstance
, DWORD fdwSupport
669 typedef BOOL (CALLBACK
*ACMFORMATENUMCBW
)(
670 HACMDRIVERID hadid
, PACMFORMATDETAILSW pafd
,
671 DWORD dwInstance
, DWORD fdwSupport
674 typedef BOOL16 (CALLBACK
*ACMFORMATENUMCB16
)(
675 HACMDRIVERID16 hadid
, LPACMFORMATDETAILS16 pafd
,
676 DWORD dwInstance
, DWORD fdwSupport
679 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBA
)(
680 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSA paftd
,
681 DWORD dwInstance
, DWORD fdwSupport
684 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBW
)(
685 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSW 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
, LPWAVEFORMATEX pwfxSrc
,
750 LPWAVEFORMATEX 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 LPWAVEFORMATEX pwfxSrc
, LPWAVEFORMATEX pwfxDst
,
772 LPWAVEFILTER 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 MMRESULT WINAPI
acmDriverAddA(
800 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
801 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
803 MMRESULT WINAPI
acmDriverAddW(
804 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
805 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
807 MMRESULT WINAPI
acmDriverClose(
808 HACMDRIVER had
, DWORD fdwClose
810 MMRESULT WINAPI
acmDriverDetailsA(
811 HACMDRIVERID hadid
, PACMDRIVERDETAILSA padd
, DWORD fdwDetails
813 MMRESULT WINAPI
acmDriverDetailsW(
814 HACMDRIVERID hadid
, PACMDRIVERDETAILSW padd
, DWORD fdwDetails
816 MMRESULT WINAPI
acmDriverEnum(
817 ACMDRIVERENUMCB fnCallback
, DWORD dwInstance
, DWORD fdwEnum
819 MMRESULT WINAPI
acmDriverID(
820 HACMOBJ hao
, PHACMDRIVERID phadid
, DWORD fdwDriverID
822 LRESULT WINAPI
acmDriverMessage(
823 HACMDRIVER had
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
825 MMRESULT WINAPI
acmDriverOpen(
826 PHACMDRIVER phad
, HACMDRIVERID hadid
, DWORD fdwOpen
828 MMRESULT WINAPI
acmDriverPriority(
829 HACMDRIVERID hadid
, DWORD dwPriority
, DWORD fdwPriority
831 MMRESULT WINAPI
acmDriverRemove(
832 HACMDRIVERID hadid
, DWORD fdwRemove
834 MMRESULT WINAPI
acmFilterChooseA(
835 PACMFILTERCHOOSEA pafltrc
837 MMRESULT WINAPI
acmFilterChooseW(
838 PACMFILTERCHOOSEW pafltrc
840 MMRESULT WINAPI
acmFilterDetailsA(
841 HACMDRIVER had
, PACMFILTERDETAILSA pafd
, DWORD fdwDetails
843 MMRESULT WINAPI
acmFilterDetailsW(
844 HACMDRIVER had
, PACMFILTERDETAILSW pafd
, DWORD fdwDetails
846 MMRESULT WINAPI
acmFilterEnumA(
847 HACMDRIVER had
, PACMFILTERDETAILSA pafd
,
848 ACMFILTERENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
850 MMRESULT WINAPI
acmFilterEnumW(
851 HACMDRIVER had
, PACMFILTERDETAILSW pafd
,
852 ACMFILTERENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
854 MMRESULT WINAPI
acmFilterTagDetailsA(
855 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
, DWORD fdwDetails
857 MMRESULT WINAPI
acmFilterTagDetailsW(
858 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
, DWORD fdwDetails
860 MMRESULT WINAPI
acmFilterTagEnumA(
861 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
,
862 ACMFILTERTAGENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
864 MMRESULT WINAPI
acmFilterTagEnumW(
865 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
,
866 ACMFILTERTAGENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
868 MMRESULT WINAPI
acmFormatChooseA(
869 PACMFORMATCHOOSEA pafmtc
871 MMRESULT WINAPI
acmFormatChooseW(
872 PACMFORMATCHOOSEW pafmtc
874 MMRESULT WINAPI
acmFormatDetailsA(
875 HACMDRIVER had
, PACMFORMATDETAILSA pafd
, DWORD fdwDetails
877 MMRESULT WINAPI
acmFormatDetailsW(
878 HACMDRIVER had
, PACMFORMATDETAILSW pafd
, DWORD fdwDetails
880 MMRESULT WINAPI
acmFormatEnumA(
881 HACMDRIVER had
, PACMFORMATDETAILSA pafd
,
882 ACMFORMATENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
884 MMRESULT WINAPI
acmFormatEnumW(
885 HACMDRIVER had
, PACMFORMATDETAILSW pafd
,
886 ACMFORMATENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
888 MMRESULT WINAPI
acmFormatSuggest(
889 HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
, PWAVEFORMATEX pwfxDst
,
890 DWORD cbwfxDst
, DWORD fdwSuggest
892 MMRESULT WINAPI
acmFormatTagDetailsA(
893 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
, DWORD fdwDetails
895 MMRESULT WINAPI
acmFormatTagDetailsW(
896 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
, DWORD fdwDetails
898 MMRESULT WINAPI
acmFormatTagEnumA(
899 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
,
900 ACMFORMATTAGENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
902 MMRESULT WINAPI
acmFormatTagEnumW(
903 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
,
904 ACMFORMATTAGENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
906 DWORD WINAPI
acmGetVersion(
908 MMRESULT WINAPI
acmMetrics(
909 HACMOBJ hao
, UINT uMetric
, LPVOID pMetric
911 MMRESULT WINAPI
acmStreamClose(
912 HACMSTREAM has
, DWORD fdwClose
914 MMRESULT WINAPI
acmStreamConvert(
915 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwConvert
917 MMRESULT WINAPI
acmStreamMessage(
918 HACMSTREAM has
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
920 MMRESULT WINAPI
acmStreamOpen(
921 PHACMSTREAM phas
, HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
,
922 PWAVEFORMATEX pwfxDst
, PWAVEFILTER pwfltr
, DWORD dwCallback
,
923 DWORD dwInstance
, DWORD fdwOpen
925 MMRESULT WINAPI
acmStreamPrepareHeader(
926 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwPrepare
928 MMRESULT WINAPI
acmStreamReset(
929 HACMSTREAM has
, DWORD fdwReset
931 MMRESULT WINAPI
acmStreamSize(
932 HACMSTREAM has
, DWORD cbInput
,
933 LPDWORD pdwOutputBytes
, DWORD fdwSize
935 MMRESULT WINAPI
acmStreamUnprepareHeader(
936 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwUnprepare
939 /***********************************************************************
940 * Wine specific - Win32
942 typedef struct _WINE_ACMBUILTINDRIVER
944 LPSTR pszDriverAlias
;
945 DRIVERPROC pfnDriverProc
;
946 } WINE_ACMBUILTINDRIVER
, *PWINE_ACMBUILTINDRIVER
;
948 typedef struct _WINE_ACMLOCALDRIVER
950 DRIVERPROC pfnDriverProc
;
951 } WINE_ACMLOCALDRIVER
, *PWINE_ACMLOCALDRIVER
;
953 typedef struct _WINE_ACMDRIVERID
*PWINE_ACMDRIVERID
;
955 typedef struct _WINE_ACMOBJ
957 PWINE_ACMDRIVERID pACMDriverID
;
958 } WINE_ACMOBJ
, *PWINE_ACMOBJ
;
960 typedef struct _WINE_ACMDRIVER
964 } WINE_ACMDRIVER
, *PWINE_ACMDRIVER
;
966 typedef struct _WINE_ACMSTREAM
969 /* FIME: More fields needed */
970 } WINE_ACMSTREAM
, *PWINE_ACMSTREAM
;
972 typedef struct _WINE_ACMDRIVERID
974 LPSTR pszDriverAlias
;
976 PWINE_ACMLOCALDRIVER pACMLocalDriver
;
978 PWINE_ACMDRIVER pACMDriver
; /* NULL if not open */
979 PWINE_ACMDRIVERID pNextACMDriverID
;
980 PWINE_ACMDRIVERID pPreviousACMDriverID
;
984 extern WINE_ACMBUILTINDRIVER MSACM_BuiltinDrivers
[];
987 extern HANDLE MSACM_hHeap
;
988 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID
;
989 extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID
;
990 PWINE_ACMDRIVERID
MSACM_RegisterDriver(
991 LPSTR pszDriverAlias
, LPSTR pszFileName
,
992 PWINE_ACMLOCALDRIVER pLocalDriver
);
993 void MSACM_RegisterAllDrivers();
994 PWINE_ACMDRIVERID
MSACM_UnregisterDriver(PWINE_ACMDRIVERID p
);
995 void MSACM_UnregisterAllDrivers();
996 PWINE_ACMDRIVERID
MSACM_GetDriverID(HACMDRIVERID hDriverID
);
997 PWINE_ACMDRIVER
MSACM_GetDriver(HACMDRIVER hDriver
);
998 PWINE_ACMOBJ
MSACM_GetObj(HACMOBJ hObj
);
999 HDRVR
MSACM_OpenDriverProc(DRIVERPROC pfnDriverProc
);
1001 #endif /* __WINE_MSACM_H */