2 * Declarations for MSACM
4 * Copyright (C) the Wine project
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_MSACM_H
22 #define __WINE_MSACM_H
26 #endif /* defined(__cplusplus) */
32 /***********************************************************************
35 #define ACMERR_BASE 512
36 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
37 #define ACMERR_BUSY (ACMERR_BASE + 1)
38 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
39 #define ACMERR_CANCELED (ACMERR_BASE + 3)
41 #define MM_ACM_OPEN MM_STREAM_OPEN
42 #define MM_ACM_CLOSE MM_STREAM_CLOSE
43 #define MM_ACM_DONE MM_STREAM_DONE
45 #define ACM_DRIVERADDF_NAME __MSABI_LONG(0x00000001)
46 #define ACM_DRIVERADDF_FUNCTION __MSABI_LONG(0x00000003)
47 #define ACM_DRIVERADDF_NOTIFYHWND __MSABI_LONG(0x00000004)
48 #define ACM_DRIVERADDF_TYPEMASK __MSABI_LONG(0x00000007)
49 #define ACM_DRIVERADDF_LOCAL __MSABI_LONG(0x00000000)
50 #define ACM_DRIVERADDF_GLOBAL __MSABI_LONG(0x00000008)
52 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
53 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
54 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
55 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
56 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
58 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
59 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
61 #define ACMDRIVERDETAILS_SUPPORTF_CODEC __MSABI_LONG(0x00000001)
62 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER __MSABI_LONG(0x00000002)
63 #define ACMDRIVERDETAILS_SUPPORTF_FILTER __MSABI_LONG(0x00000004)
64 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE __MSABI_LONG(0x00000008)
65 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC __MSABI_LONG(0x00000010)
66 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL __MSABI_LONG(0x40000000)
67 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED __MSABI_LONG(0x80000000)
69 #define ACM_DRIVERENUMF_NOLOCAL __MSABI_LONG(0x40000000)
70 #define ACM_DRIVERENUMF_DISABLED __MSABI_LONG(0x80000000)
72 #define ACM_DRIVERPRIORITYF_ENABLE __MSABI_LONG(0x00000001)
73 #define ACM_DRIVERPRIORITYF_DISABLE __MSABI_LONG(0x00000002)
74 #define ACM_DRIVERPRIORITYF_ABLEMASK __MSABI_LONG(0x00000003)
75 #define ACM_DRIVERPRIORITYF_BEGIN __MSABI_LONG(0x00010000)
76 #define ACM_DRIVERPRIORITYF_END __MSABI_LONG(0x00020000)
77 #define ACM_DRIVERPRIORITYF_DEFERMASK __MSABI_LONG(0x00030000)
79 #define MM_ACM_FILTERCHOOSE 0x8000
81 #define FILTERCHOOSE_MESSAGE 0
82 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
83 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
84 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
86 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP __MSABI_LONG(0x00000004)
87 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK __MSABI_LONG(0x00000008)
88 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE __MSABI_LONG(0x00000010)
89 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE __MSABI_LONG(0x00000020)
90 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT __MSABI_LONG(0x00000040)
91 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP __MSABI_LONG(0x00000080)
93 #define ACMFILTERDETAILS_FILTER_CHARS 128
95 #define ACM_FILTERDETAILSF_INDEX __MSABI_LONG(0x00000000)
96 #define ACM_FILTERDETAILSF_FILTER __MSABI_LONG(0x00000001)
97 #define ACM_FILTERDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
99 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
101 #define ACM_FILTERTAGDETAILSF_INDEX __MSABI_LONG(0x00000000)
102 #define ACM_FILTERTAGDETAILSF_FILTERTAG __MSABI_LONG(0x00000001)
103 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE __MSABI_LONG(0x00000002)
104 #define ACM_FILTERTAGDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
106 #define ACM_FILTERENUMF_DWFILTERTAG __MSABI_LONG(0x00010000)
108 #define ACMHELPMSGSTRINGA "acmchoose_help"
109 #if defined(__GNUC__)
110 # define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \
111 'c','h','o','o','s','e','_','h','e','l','p',0 }
112 #elif defined(_MSC_VER)
113 # define ACMHELPMSGSTRINGW L"acmchoose_help"
115 static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m',
116 'c','h','o','o','s','e','_','h','e','l','p',0 };
118 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
120 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
121 #if defined(__GNUC__)
122 # define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \
123 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }
124 #elif defined(_MSC_VER)
125 # define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
127 static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m',
128 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
130 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
132 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
133 #if defined(__GNUC__)
134 # define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \
135 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }
136 #elif defined(_MSC_VER)
137 # define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
139 static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m',
140 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
142 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
144 #define MM_ACM_FORMATCHOOSE 0x8000
146 #define FORMATCHOOSE_MESSAGE 0
147 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
148 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
149 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
151 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP __MSABI_LONG(0x00000004)
152 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK __MSABI_LONG(0x00000008)
153 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE __MSABI_LONG(0x00000010)
154 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE __MSABI_LONG(0x00000020)
155 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT __MSABI_LONG(0x00000040)
156 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP __MSABI_LONG(0x00000080)
158 #define ACMFORMATDETAILS_FORMAT_CHARS 128
160 #define ACM_FORMATDETAILSF_INDEX __MSABI_LONG(0x00000000)
161 #define ACM_FORMATDETAILSF_FORMAT __MSABI_LONG(0x00000001)
162 #define ACM_FORMATDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
164 #define ACM_FORMATENUMF_WFORMATTAG __MSABI_LONG(0x00010000)
165 #define ACM_FORMATENUMF_NCHANNELS __MSABI_LONG(0x00020000)
166 #define ACM_FORMATENUMF_NSAMPLESPERSEC __MSABI_LONG(0x00040000)
167 #define ACM_FORMATENUMF_WBITSPERSAMPLE __MSABI_LONG(0x00080000)
168 #define ACM_FORMATENUMF_CONVERT __MSABI_LONG(0x00100000)
169 #define ACM_FORMATENUMF_SUGGEST __MSABI_LONG(0x00200000)
170 #define ACM_FORMATENUMF_HARDWARE __MSABI_LONG(0x00400000)
171 #define ACM_FORMATENUMF_INPUT __MSABI_LONG(0x00800000)
172 #define ACM_FORMATENUMF_OUTPUT __MSABI_LONG(0x01000000)
174 #define ACM_FORMATSUGGESTF_WFORMATTAG __MSABI_LONG(0x00010000)
175 #define ACM_FORMATSUGGESTF_NCHANNELS __MSABI_LONG(0x00020000)
176 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC __MSABI_LONG(0x00040000)
177 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE __MSABI_LONG(0x00080000)
178 #define ACM_FORMATSUGGESTF_TYPEMASK __MSABI_LONG(0x00FF0000)
180 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
182 #define ACM_FORMATTAGDETAILSF_INDEX __MSABI_LONG(0x00000000)
183 #define ACM_FORMATTAGDETAILSF_FORMATTAG __MSABI_LONG(0x00000001)
184 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE __MSABI_LONG(0x00000002)
185 #define ACM_FORMATTAGDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
187 #define ACM_METRIC_COUNT_DRIVERS 1
188 #define ACM_METRIC_COUNT_CODECS 2
189 #define ACM_METRIC_COUNT_CONVERTERS 3
190 #define ACM_METRIC_COUNT_FILTERS 4
191 #define ACM_METRIC_COUNT_DISABLED 5
192 #define ACM_METRIC_COUNT_HARDWARE 6
193 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
194 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
195 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
196 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
197 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
198 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
199 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
200 #define ACM_METRIC_MAX_SIZE_FORMAT 50
201 #define ACM_METRIC_MAX_SIZE_FILTER 51
202 #define ACM_METRIC_DRIVER_SUPPORT 100
203 #define ACM_METRIC_DRIVER_PRIORITY 101
205 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
206 #define ACM_STREAMCONVERTF_START 0x00000010
207 #define ACM_STREAMCONVERTF_END 0x00000020
209 #define ACMSTREAMHEADER_STATUSF_DONE __MSABI_LONG(0x00010000)
210 #define ACMSTREAMHEADER_STATUSF_PREPARED __MSABI_LONG(0x00020000)
211 #define ACMSTREAMHEADER_STATUSF_INQUEUE __MSABI_LONG(0x00100000)
213 #define ACM_STREAMOPENF_QUERY 0x00000001
214 #define ACM_STREAMOPENF_ASYNC 0x00000002
215 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
217 #define ACM_STREAMSIZEF_SOURCE __MSABI_LONG(0x00000000)
218 #define ACM_STREAMSIZEF_DESTINATION __MSABI_LONG(0x00000001)
219 #define ACM_STREAMSIZEF_QUERYMASK __MSABI_LONG(0x0000000F)
221 #define ACMDM_USER (DRV_USER + 0x0000)
222 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
223 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
225 #define ACMDM_BASE ACMDM_RESERVED_LOW
227 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
231 DECLARE_HANDLE(HACMDRIVERID);
232 DECLARE_HANDLE(HACMDRIVER);
233 DECLARE_HANDLE(HACMSTREAM);
234 DECLARE_HANDLE(HACMOBJ);
235 typedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID;
236 typedef HACMDRIVER *PHACMDRIVER, *LPHACMDRIVER;
237 typedef HACMSTREAM *PHACMSTREAM, *LPHACMSTREAM;
238 typedef HACMOBJ *PHACMOBJ, *LPHACMOBJ;
240 /***********************************************************************
244 typedef BOOL (CALLBACK *ACMDRIVERENUMCB)(
245 HACMDRIVERID hadid, DWORD_PTR dwInstance, DWORD fdwSupport
248 typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)(
249 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
252 typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)(
253 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
255 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
257 typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)(
258 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
261 typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)(
262 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
264 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
266 /***********************************************************************
270 typedef struct _ACMDRIVERDETAILSA
289 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
290 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
291 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
292 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
293 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
294 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
296 typedef struct _ACMDRIVERDETAILSW
315 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
316 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
317 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
318 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
319 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
320 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
322 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
323 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
324 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
326 typedef struct _ACMFILTERCHOOSEA
338 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
339 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
344 PWAVEFILTER pwfltrEnum;
347 LPCSTR pszTemplateName;
349 ACMFILTERCHOOSEHOOKPROCA pfnHook;
350 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
352 typedef struct _ACMFILTERCHOOSEW
364 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
365 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
370 PWAVEFILTER pwfltrEnum;
373 LPCWSTR pszTemplateName;
375 ACMFILTERCHOOSEHOOKPROCW pfnHook;
376 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
378 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
379 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
380 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
382 typedef struct _ACMFILTERDETAILSA
390 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
391 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
393 typedef struct _ACMFILTERDETAILSW
401 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
402 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
404 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
405 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
406 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
408 typedef struct _ACMFILTERTAGDETAILSA
411 DWORD dwFilterTagIndex;
415 DWORD cStandardFilters;
416 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
417 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
419 typedef struct _ACMFILTERTAGDETAILSW
422 DWORD dwFilterTagIndex;
426 DWORD cStandardFilters;
427 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
428 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
430 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
431 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
432 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
434 typedef struct _ACMFORMATCHOOSEA
445 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
446 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
452 PWAVEFORMATEX pwfxEnum;
455 LPCSTR pszTemplateName;
457 ACMFORMATCHOOSEHOOKPROCA pfnHook;
458 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
460 typedef struct _ACMFORMATCHOOSEW
471 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
472 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
478 LPWAVEFORMATEX pwfxEnum;
481 LPCWSTR pszTemplateName;
483 ACMFORMATCHOOSEHOOKPROCW pfnHook;
484 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
486 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
487 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
488 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
490 typedef struct _ACMFORMATDETAILSA
498 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
499 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
501 typedef struct _ACMFORMATDETAILSW
509 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
510 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
512 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
513 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
514 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
516 typedef struct _ACMFORMATTAGDETAILSA
519 DWORD dwFormatTagIndex;
523 DWORD cStandardFormats;
524 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
525 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
527 typedef struct _ACMFORMATTAGDETAILSW
530 DWORD dwFormatTagIndex;
534 DWORD cStandardFormats;
535 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
536 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
538 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
539 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
540 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
543 # define _ACMSTREAMHEADERRESERVE 15
545 # define _ACMSTREAMHEADERRESERVE 10
548 typedef struct _ACMSTREAMHEADER
555 DWORD cbSrcLengthUsed;
559 DWORD cbDstLengthUsed;
561 DWORD dwReservedDriver[_ACMSTREAMHEADERRESERVE];
562 } ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
564 #undef _ACMSTREAMHEADERRESERVE
566 /***********************************************************************
570 typedef BOOL (CALLBACK *ACMFILTERENUMCBA)(
571 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
572 DWORD_PTR dwInstance, DWORD fdwSupport
575 typedef BOOL (CALLBACK *ACMFILTERENUMCBW)(
576 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
577 DWORD_PTR dwInstance, DWORD fdwSupport
580 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
582 typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)(
583 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
584 DWORD_PTR dwInstance, DWORD fdwSupport
587 typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)(
588 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
589 DWORD_PTR dwInstance, DWORD fdwSupport
592 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
594 typedef BOOL (CALLBACK *ACMFORMATENUMCBA)(
595 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
596 DWORD_PTR dwInstance, DWORD fdwSupport
599 typedef BOOL (CALLBACK *ACMFORMATENUMCBW)(
600 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
601 DWORD_PTR dwInstance, DWORD fdwSupport
604 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
606 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)(
607 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
608 DWORD_PTR dwInstance, DWORD fdwSupport
611 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)(
612 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
613 DWORD_PTR dwInstance, DWORD fdwSupport
616 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
618 /***********************************************************************
622 MMRESULT WINAPI acmDriverAddA(
623 PHACMDRIVERID phadid, HINSTANCE hinstModule,
624 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
626 MMRESULT WINAPI acmDriverAddW(
627 PHACMDRIVERID phadid, HINSTANCE hinstModule,
628 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
630 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
632 MMRESULT WINAPI acmDriverClose(
633 HACMDRIVER had, DWORD fdwClose
635 MMRESULT WINAPI acmDriverDetailsA(
636 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
638 MMRESULT WINAPI acmDriverDetailsW(
639 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
641 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
643 MMRESULT WINAPI acmDriverEnum(
644 ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
646 MMRESULT WINAPI acmDriverID(
647 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
649 LRESULT WINAPI acmDriverMessage(
650 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
652 MMRESULT WINAPI acmDriverOpen(
653 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
655 MMRESULT WINAPI acmDriverPriority(
656 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
658 MMRESULT WINAPI acmDriverRemove(
659 HACMDRIVERID hadid, DWORD fdwRemove
661 MMRESULT WINAPI acmFilterChooseA(
662 PACMFILTERCHOOSEA pafltrc
664 MMRESULT WINAPI acmFilterChooseW(
665 PACMFILTERCHOOSEW pafltrc
667 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
669 MMRESULT WINAPI acmFilterDetailsA(
670 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
672 MMRESULT WINAPI acmFilterDetailsW(
673 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
675 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
677 MMRESULT WINAPI acmFilterEnumA(
678 HACMDRIVER had, PACMFILTERDETAILSA pafd,
679 ACMFILTERENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
681 MMRESULT WINAPI acmFilterEnumW(
682 HACMDRIVER had, PACMFILTERDETAILSW pafd,
683 ACMFILTERENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
685 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
687 MMRESULT WINAPI acmFilterTagDetailsA(
688 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
690 MMRESULT WINAPI acmFilterTagDetailsW(
691 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
693 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
695 MMRESULT WINAPI acmFilterTagEnumA(
696 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
697 ACMFILTERTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
699 MMRESULT WINAPI acmFilterTagEnumW(
700 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
701 ACMFILTERTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
703 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
705 MMRESULT WINAPI acmFormatChooseA(
706 PACMFORMATCHOOSEA pafmtc
708 MMRESULT WINAPI acmFormatChooseW(
709 PACMFORMATCHOOSEW pafmtc
711 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
713 MMRESULT WINAPI acmFormatDetailsA(
714 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
716 MMRESULT WINAPI acmFormatDetailsW(
717 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
719 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
721 MMRESULT WINAPI acmFormatEnumA(
722 HACMDRIVER had, PACMFORMATDETAILSA pafd,
723 ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
725 MMRESULT WINAPI acmFormatEnumW(
726 HACMDRIVER had, PACMFORMATDETAILSW pafd,
727 ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
729 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
731 MMRESULT WINAPI acmFormatSuggest(
732 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
733 DWORD cbwfxDst, DWORD fdwSuggest
735 MMRESULT WINAPI acmFormatTagDetailsA(
736 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
738 MMRESULT WINAPI acmFormatTagDetailsW(
739 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
741 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
743 MMRESULT WINAPI acmFormatTagEnumA(
744 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
745 ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
747 MMRESULT WINAPI acmFormatTagEnumW(
748 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
749 ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
751 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
753 DWORD WINAPI acmGetVersion(void
755 MMRESULT WINAPI acmMetrics(
756 HACMOBJ hao, UINT uMetric, LPVOID pMetric
758 MMRESULT WINAPI acmStreamClose(
759 HACMSTREAM has, DWORD fdwClose
761 MMRESULT WINAPI acmStreamConvert(
762 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
764 MMRESULT WINAPI acmStreamMessage(
765 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
767 MMRESULT WINAPI acmStreamOpen(
768 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
769 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD_PTR dwCallback,
770 DWORD_PTR dwInstance, DWORD fdwOpen
772 MMRESULT WINAPI acmStreamPrepareHeader(
773 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
775 MMRESULT WINAPI acmStreamReset(
776 HACMSTREAM has, DWORD fdwReset
778 MMRESULT WINAPI acmStreamSize(
779 HACMSTREAM has, DWORD cbInput,
780 LPDWORD pdwOutputBytes, DWORD fdwSize
782 MMRESULT WINAPI acmStreamUnprepareHeader(
783 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
790 #endif /* defined(__cplusplus) */
792 #endif /* __WINE_MSACM_H */