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(_MSC_VER) || defined(__MINGW32__)
110 # define ACMHELPMSGSTRINGW L"acmchoose_help"
112 static const WCHAR ACMHELPMSGSTRINGW
[] = { 'a','c','m',
113 'c','h','o','o','s','e','_','h','e','l','p',0 };
115 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
117 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
118 #if defined(_MSC_VER) || defined(__MINGW32__)
119 # define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
121 static const WCHAR ACMHELPMSGCONTEXTMENUW
[] = { 'a','c','m',
122 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
124 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
126 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
127 #if defined(_MSC_VER) || defined(__MINGW32__)
128 # define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
130 static const WCHAR ACMHELPMSGCONTEXTHELPW
[] = { 'a','c','m',
131 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
133 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
135 #define MM_ACM_FORMATCHOOSE 0x8000
137 #define FORMATCHOOSE_MESSAGE 0
138 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
139 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
140 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
142 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP __MSABI_LONG(0x00000004)
143 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK __MSABI_LONG(0x00000008)
144 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE __MSABI_LONG(0x00000010)
145 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE __MSABI_LONG(0x00000020)
146 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT __MSABI_LONG(0x00000040)
147 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP __MSABI_LONG(0x00000080)
149 #define ACMFORMATDETAILS_FORMAT_CHARS 128
151 #define ACM_FORMATDETAILSF_INDEX __MSABI_LONG(0x00000000)
152 #define ACM_FORMATDETAILSF_FORMAT __MSABI_LONG(0x00000001)
153 #define ACM_FORMATDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
155 #define ACM_FORMATENUMF_WFORMATTAG __MSABI_LONG(0x00010000)
156 #define ACM_FORMATENUMF_NCHANNELS __MSABI_LONG(0x00020000)
157 #define ACM_FORMATENUMF_NSAMPLESPERSEC __MSABI_LONG(0x00040000)
158 #define ACM_FORMATENUMF_WBITSPERSAMPLE __MSABI_LONG(0x00080000)
159 #define ACM_FORMATENUMF_CONVERT __MSABI_LONG(0x00100000)
160 #define ACM_FORMATENUMF_SUGGEST __MSABI_LONG(0x00200000)
161 #define ACM_FORMATENUMF_HARDWARE __MSABI_LONG(0x00400000)
162 #define ACM_FORMATENUMF_INPUT __MSABI_LONG(0x00800000)
163 #define ACM_FORMATENUMF_OUTPUT __MSABI_LONG(0x01000000)
165 #define ACM_FORMATSUGGESTF_WFORMATTAG __MSABI_LONG(0x00010000)
166 #define ACM_FORMATSUGGESTF_NCHANNELS __MSABI_LONG(0x00020000)
167 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC __MSABI_LONG(0x00040000)
168 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE __MSABI_LONG(0x00080000)
169 #define ACM_FORMATSUGGESTF_TYPEMASK __MSABI_LONG(0x00FF0000)
171 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
173 #define ACM_FORMATTAGDETAILSF_INDEX __MSABI_LONG(0x00000000)
174 #define ACM_FORMATTAGDETAILSF_FORMATTAG __MSABI_LONG(0x00000001)
175 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE __MSABI_LONG(0x00000002)
176 #define ACM_FORMATTAGDETAILSF_QUERYMASK __MSABI_LONG(0x0000000F)
178 #define ACM_METRIC_COUNT_DRIVERS 1
179 #define ACM_METRIC_COUNT_CODECS 2
180 #define ACM_METRIC_COUNT_CONVERTERS 3
181 #define ACM_METRIC_COUNT_FILTERS 4
182 #define ACM_METRIC_COUNT_DISABLED 5
183 #define ACM_METRIC_COUNT_HARDWARE 6
184 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
185 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
186 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
187 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
188 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
189 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
190 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
191 #define ACM_METRIC_MAX_SIZE_FORMAT 50
192 #define ACM_METRIC_MAX_SIZE_FILTER 51
193 #define ACM_METRIC_DRIVER_SUPPORT 100
194 #define ACM_METRIC_DRIVER_PRIORITY 101
196 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
197 #define ACM_STREAMCONVERTF_START 0x00000010
198 #define ACM_STREAMCONVERTF_END 0x00000020
200 #define ACMSTREAMHEADER_STATUSF_DONE __MSABI_LONG(0x00010000)
201 #define ACMSTREAMHEADER_STATUSF_PREPARED __MSABI_LONG(0x00020000)
202 #define ACMSTREAMHEADER_STATUSF_INQUEUE __MSABI_LONG(0x00100000)
204 #define ACM_STREAMOPENF_QUERY 0x00000001
205 #define ACM_STREAMOPENF_ASYNC 0x00000002
206 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
208 #define ACM_STREAMSIZEF_SOURCE __MSABI_LONG(0x00000000)
209 #define ACM_STREAMSIZEF_DESTINATION __MSABI_LONG(0x00000001)
210 #define ACM_STREAMSIZEF_QUERYMASK __MSABI_LONG(0x0000000F)
212 #define ACMDM_USER (DRV_USER + 0x0000)
213 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
214 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
216 #define ACMDM_BASE ACMDM_RESERVED_LOW
218 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
222 DECLARE_HANDLE(HACMDRIVERID
);
223 DECLARE_HANDLE(HACMDRIVER
);
224 DECLARE_HANDLE(HACMSTREAM
);
225 DECLARE_HANDLE(HACMOBJ
);
226 typedef HACMDRIVERID
*PHACMDRIVERID
, *LPHACMDRIVERID
;
227 typedef HACMDRIVER
*PHACMDRIVER
, *LPHACMDRIVER
;
228 typedef HACMSTREAM
*PHACMSTREAM
, *LPHACMSTREAM
;
229 typedef HACMOBJ
*PHACMOBJ
, *LPHACMOBJ
;
231 /***********************************************************************
235 typedef BOOL (CALLBACK
*ACMDRIVERENUMCB
)(
236 HACMDRIVERID hadid
, DWORD_PTR dwInstance
, DWORD fdwSupport
239 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCA
)(
240 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
243 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCW
)(
244 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
246 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
248 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCA
)(
249 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
252 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCW
)(
253 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
255 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
257 /***********************************************************************
261 typedef struct _ACMDRIVERDETAILSA
280 CHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
281 CHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
282 CHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
283 CHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
284 CHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
285 } ACMDRIVERDETAILSA
, *PACMDRIVERDETAILSA
, *LPACMDRIVERDETAILSA
;
287 typedef struct _ACMDRIVERDETAILSW
306 WCHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
307 WCHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
308 WCHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
309 WCHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
310 WCHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
311 } ACMDRIVERDETAILSW
, *PACMDRIVERDETAILSW
, *LPACMDRIVERDETAILSW
;
313 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS
)
314 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS
)
315 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS
)
317 typedef struct _ACMFILTERCHOOSEA
329 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
330 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
335 PWAVEFILTER pwfltrEnum
;
338 LPCSTR pszTemplateName
;
340 ACMFILTERCHOOSEHOOKPROCA pfnHook
;
341 } ACMFILTERCHOOSEA
, *PACMFILTERCHOOSEA
, *LPACMFILTERCHOOSEA
;
343 typedef struct _ACMFILTERCHOOSEW
355 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
356 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
361 PWAVEFILTER pwfltrEnum
;
364 LPCWSTR pszTemplateName
;
366 ACMFILTERCHOOSEHOOKPROCW pfnHook
;
367 } ACMFILTERCHOOSEW
, *PACMFILTERCHOOSEW
, *LPACMFILTERCHOOSEW
;
369 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE
)
370 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE
)
371 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE
)
373 typedef struct _ACMFILTERDETAILSA
381 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
382 } ACMFILTERDETAILSA
, *PACMFILTERDETAILSA
, *LPACMFILTERDETAILSA
;
384 typedef struct _ACMFILTERDETAILSW
392 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
393 } ACMFILTERDETAILSW
, *PACMFILTERDETAILSW
, *LPACMFILTERDETAILSW
;
395 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS
)
396 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS
)
397 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS
)
399 typedef struct _ACMFILTERTAGDETAILSA
402 DWORD dwFilterTagIndex
;
406 DWORD cStandardFilters
;
407 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
408 } ACMFILTERTAGDETAILSA
, *PACMFILTERTAGDETAILSA
, *LPACMFILTERTAGDETAILSA
;
410 typedef struct _ACMFILTERTAGDETAILSW
413 DWORD dwFilterTagIndex
;
417 DWORD cStandardFilters
;
418 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
419 } ACMFILTERTAGDETAILSW
, *PACMFILTERTAGDETAILSW
, *LPACMFILTERTAGDETAILSW
;
421 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS
)
422 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS
)
423 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS
)
425 typedef struct _ACMFORMATCHOOSEA
436 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
437 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
443 PWAVEFORMATEX pwfxEnum
;
446 LPCSTR pszTemplateName
;
448 ACMFORMATCHOOSEHOOKPROCA pfnHook
;
449 } ACMFORMATCHOOSEA
, *PACMFORMATCHOOSEA
, *LPACMFORMATCHOOSEA
;
451 typedef struct _ACMFORMATCHOOSEW
462 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
463 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
469 LPWAVEFORMATEX pwfxEnum
;
472 LPCWSTR pszTemplateName
;
474 ACMFORMATCHOOSEHOOKPROCW pfnHook
;
475 } ACMFORMATCHOOSEW
, *PACMFORMATCHOOSEW
, *LPACMFORMATCHOOSEW
;
477 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE
)
478 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE
)
479 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE
)
481 typedef struct _ACMFORMATDETAILSA
489 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
490 } ACMFORMATDETAILSA
, *PACMFORMATDETAILSA
, *LPACMFORMATDETAILSA
;
492 typedef struct _ACMFORMATDETAILSW
500 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
501 } ACMFORMATDETAILSW
, *PACMFORMATDETAILSW
, *LPACMFORMATDETAILSW
;
503 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS
)
504 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS
)
505 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS
)
507 typedef struct _ACMFORMATTAGDETAILSA
510 DWORD dwFormatTagIndex
;
514 DWORD cStandardFormats
;
515 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
516 } ACMFORMATTAGDETAILSA
, *PACMFORMATTAGDETAILSA
, *LPACMFORMATTAGDETAILSA
;
518 typedef struct _ACMFORMATTAGDETAILSW
521 DWORD dwFormatTagIndex
;
525 DWORD cStandardFormats
;
526 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
527 } ACMFORMATTAGDETAILSW
, *PACMFORMATTAGDETAILSW
, *LPACMFORMATTAGDETAILSW
;
529 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS
)
530 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS
)
531 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS
)
534 # define _ACMSTREAMHEADERRESERVE 15
536 # define _ACMSTREAMHEADERRESERVE 10
539 typedef struct _ACMSTREAMHEADER
546 DWORD cbSrcLengthUsed
;
550 DWORD cbDstLengthUsed
;
552 DWORD dwReservedDriver
[_ACMSTREAMHEADERRESERVE
];
553 } ACMSTREAMHEADER
, *PACMSTREAMHEADER
, *LPACMSTREAMHEADER
;
555 #undef _ACMSTREAMHEADERRESERVE
557 /***********************************************************************
561 typedef BOOL (CALLBACK
*ACMFILTERENUMCBA
)(
562 HACMDRIVERID hadid
, PACMFILTERDETAILSA pafd
,
563 DWORD_PTR dwInstance
, DWORD fdwSupport
566 typedef BOOL (CALLBACK
*ACMFILTERENUMCBW
)(
567 HACMDRIVERID hadid
, PACMFILTERDETAILSW pafd
,
568 DWORD_PTR dwInstance
, DWORD fdwSupport
571 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
573 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBA
)(
574 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSA paftd
,
575 DWORD_PTR dwInstance
, DWORD fdwSupport
578 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBW
)(
579 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSW paftd
,
580 DWORD_PTR dwInstance
, DWORD fdwSupport
583 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
585 typedef BOOL (CALLBACK
*ACMFORMATENUMCBA
)(
586 HACMDRIVERID hadid
, PACMFORMATDETAILSA pafd
,
587 DWORD_PTR dwInstance
, DWORD fdwSupport
590 typedef BOOL (CALLBACK
*ACMFORMATENUMCBW
)(
591 HACMDRIVERID hadid
, PACMFORMATDETAILSW pafd
,
592 DWORD_PTR dwInstance
, DWORD fdwSupport
595 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
597 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBA
)(
598 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSA paftd
,
599 DWORD_PTR dwInstance
, DWORD fdwSupport
602 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBW
)(
603 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSW paftd
,
604 DWORD_PTR dwInstance
, DWORD fdwSupport
607 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
609 /***********************************************************************
613 MMRESULT WINAPI
acmDriverAddA(
614 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
615 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
617 MMRESULT WINAPI
acmDriverAddW(
618 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
619 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
621 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
623 MMRESULT WINAPI
acmDriverClose(
624 HACMDRIVER had
, DWORD fdwClose
626 MMRESULT WINAPI
acmDriverDetailsA(
627 HACMDRIVERID hadid
, PACMDRIVERDETAILSA padd
, DWORD fdwDetails
629 MMRESULT WINAPI
acmDriverDetailsW(
630 HACMDRIVERID hadid
, PACMDRIVERDETAILSW padd
, DWORD fdwDetails
632 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
634 MMRESULT WINAPI
acmDriverEnum(
635 ACMDRIVERENUMCB fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
637 MMRESULT WINAPI
acmDriverID(
638 HACMOBJ hao
, PHACMDRIVERID phadid
, DWORD fdwDriverID
640 LRESULT WINAPI
acmDriverMessage(
641 HACMDRIVER had
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
643 MMRESULT WINAPI
acmDriverOpen(
644 PHACMDRIVER phad
, HACMDRIVERID hadid
, DWORD fdwOpen
646 MMRESULT WINAPI
acmDriverPriority(
647 HACMDRIVERID hadid
, DWORD dwPriority
, DWORD fdwPriority
649 MMRESULT WINAPI
acmDriverRemove(
650 HACMDRIVERID hadid
, DWORD fdwRemove
652 MMRESULT WINAPI
acmFilterChooseA(
653 PACMFILTERCHOOSEA pafltrc
655 MMRESULT WINAPI
acmFilterChooseW(
656 PACMFILTERCHOOSEW pafltrc
658 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
660 MMRESULT WINAPI
acmFilterDetailsA(
661 HACMDRIVER had
, PACMFILTERDETAILSA pafd
, DWORD fdwDetails
663 MMRESULT WINAPI
acmFilterDetailsW(
664 HACMDRIVER had
, PACMFILTERDETAILSW pafd
, DWORD fdwDetails
666 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
668 MMRESULT WINAPI
acmFilterEnumA(
669 HACMDRIVER had
, PACMFILTERDETAILSA pafd
,
670 ACMFILTERENUMCBA fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
672 MMRESULT WINAPI
acmFilterEnumW(
673 HACMDRIVER had
, PACMFILTERDETAILSW pafd
,
674 ACMFILTERENUMCBW fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
676 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
678 MMRESULT WINAPI
acmFilterTagDetailsA(
679 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
, DWORD fdwDetails
681 MMRESULT WINAPI
acmFilterTagDetailsW(
682 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
, DWORD fdwDetails
684 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
686 MMRESULT WINAPI
acmFilterTagEnumA(
687 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
,
688 ACMFILTERTAGENUMCBA fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
690 MMRESULT WINAPI
acmFilterTagEnumW(
691 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
,
692 ACMFILTERTAGENUMCBW fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
694 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
696 MMRESULT WINAPI
acmFormatChooseA(
697 PACMFORMATCHOOSEA pafmtc
699 MMRESULT WINAPI
acmFormatChooseW(
700 PACMFORMATCHOOSEW pafmtc
702 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
704 MMRESULT WINAPI
acmFormatDetailsA(
705 HACMDRIVER had
, PACMFORMATDETAILSA pafd
, DWORD fdwDetails
707 MMRESULT WINAPI
acmFormatDetailsW(
708 HACMDRIVER had
, PACMFORMATDETAILSW pafd
, DWORD fdwDetails
710 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
712 MMRESULT WINAPI
acmFormatEnumA(
713 HACMDRIVER had
, PACMFORMATDETAILSA pafd
,
714 ACMFORMATENUMCBA fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
716 MMRESULT WINAPI
acmFormatEnumW(
717 HACMDRIVER had
, PACMFORMATDETAILSW pafd
,
718 ACMFORMATENUMCBW fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
720 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
722 MMRESULT WINAPI
acmFormatSuggest(
723 HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
, PWAVEFORMATEX pwfxDst
,
724 DWORD cbwfxDst
, DWORD fdwSuggest
726 MMRESULT WINAPI
acmFormatTagDetailsA(
727 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
, DWORD fdwDetails
729 MMRESULT WINAPI
acmFormatTagDetailsW(
730 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
, DWORD fdwDetails
732 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
734 MMRESULT WINAPI
acmFormatTagEnumA(
735 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
,
736 ACMFORMATTAGENUMCBA fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
738 MMRESULT WINAPI
acmFormatTagEnumW(
739 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
,
740 ACMFORMATTAGENUMCBW fnCallback
, DWORD_PTR dwInstance
, DWORD fdwEnum
742 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
744 DWORD WINAPI
acmGetVersion(void
746 MMRESULT WINAPI
acmMetrics(
747 HACMOBJ hao
, UINT uMetric
, LPVOID pMetric
749 MMRESULT WINAPI
acmStreamClose(
750 HACMSTREAM has
, DWORD fdwClose
752 MMRESULT WINAPI
acmStreamConvert(
753 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwConvert
755 MMRESULT WINAPI
acmStreamMessage(
756 HACMSTREAM has
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
758 MMRESULT WINAPI
acmStreamOpen(
759 PHACMSTREAM phas
, HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
,
760 PWAVEFORMATEX pwfxDst
, PWAVEFILTER pwfltr
, DWORD_PTR dwCallback
,
761 DWORD_PTR dwInstance
, DWORD fdwOpen
763 MMRESULT WINAPI
acmStreamPrepareHeader(
764 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwPrepare
766 MMRESULT WINAPI
acmStreamReset(
767 HACMSTREAM has
, DWORD fdwReset
769 MMRESULT WINAPI
acmStreamSize(
770 HACMSTREAM has
, DWORD cbInput
,
771 LPDWORD pdwOutputBytes
, DWORD fdwSize
773 MMRESULT WINAPI
acmStreamUnprepareHeader(
774 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwUnprepare
781 #endif /* defined(__cplusplus) */
783 #endif /* __WINE_MSACM_H */