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 */