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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_MSACM_H
22 #define __WINE_MSACM_H
26 #endif /* defined(__cplusplus) */
30 /***********************************************************************
33 #define ACMERR_BASE 512
34 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
35 #define ACMERR_BUSY (ACMERR_BASE + 1)
36 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
37 #define ACMERR_CANCELED (ACMERR_BASE + 3)
39 #define MM_ACM_OPEN MM_STREAM_OPEN
40 #define MM_ACM_CLOSE MM_STREAM_CLOSE
41 #define MM_ACM_DONE MM_STREAM_DONE
43 #define ACM_DRIVERADDF_NAME 0x00000001L
44 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
45 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
46 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
47 #define ACM_DRIVERADDF_LOCAL 0x00000000L
48 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
50 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
51 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
52 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
53 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
54 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
56 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
57 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
59 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
60 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
61 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
62 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
63 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
64 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
65 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
67 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
68 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
70 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
71 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
72 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
73 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
74 #define ACM_DRIVERPRIORITYF_END 0x00020000L
75 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
77 #define MM_ACM_FILTERCHOOSE 0x8000
79 #define FILTERCHOOSE_MESSAGE 0
80 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
81 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
82 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
84 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
85 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
86 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
87 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
88 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
89 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
91 #define ACMFILTERDETAILS_FILTER_CHARS 128
93 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
94 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
95 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
97 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
99 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
100 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
101 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
102 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
104 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
106 #define ACMHELPMSGSTRINGA "acmchoose_help"
107 #if defined(__GNUC__)
108 # define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \
109 'c','h','o','o','s','e','_','h','e','l','p',0 }
110 #elif defined(_MSC_VER)
111 # define ACMHELPMSGSTRINGW L"acmchoose_help"
113 static const WCHAR ACMHELPMSGSTRINGW
[] = { 'a','c','m',
114 'c','h','o','o','s','e','_','h','e','l','p',0 };
116 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
118 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
119 #if defined(__GNUC__)
120 # define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \
121 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }
122 #elif defined(_MSC_VER)
123 # define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
125 static const WCHAR ACMHELPMSGCONTEXTMENUW
[] = { 'a','c','m',
126 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
128 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
130 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
131 #if defined(__GNUC__)
132 # define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \
133 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }
134 #elif defined(_MSC_VER)
135 # define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
137 static const WCHAR ACMHELPMSGCONTEXTHELPW
[] = { 'a','c','m',
138 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
140 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
142 #define MM_ACM_FORMATCHOOSE 0x8000
144 #define FORMATCHOOSE_MESSAGE 0
145 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
146 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
147 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
149 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
150 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
151 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
152 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
153 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
154 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
156 #define ACMFORMATDETAILS_FORMAT_CHARS 128
158 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
159 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
160 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
162 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
163 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
164 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
165 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
166 #define ACM_FORMATENUMF_CONVERT 0x00100000L
167 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
168 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
169 #define ACM_FORMATENUMF_INPUT 0x00800000L
170 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
172 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
173 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
174 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
175 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
176 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
178 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
180 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
181 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
182 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
183 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
185 #define ACM_METRIC_COUNT_DRIVERS 1
186 #define ACM_METRIC_COUNT_CODECS 2
187 #define ACM_METRIC_COUNT_CONVERTERS 3
188 #define ACM_METRIC_COUNT_FILTERS 4
189 #define ACM_METRIC_COUNT_DISABLED 5
190 #define ACM_METRIC_COUNT_HARDWARE 6
191 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
192 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
193 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
194 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
195 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
196 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
197 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
198 #define ACM_METRIC_MAX_SIZE_FORMAT 50
199 #define ACM_METRIC_MAX_SIZE_FILTER 51
200 #define ACM_METRIC_DRIVER_SUPPORT 100
201 #define ACM_METRIC_DRIVER_PRIORITY 101
203 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
204 #define ACM_STREAMCONVERTF_START 0x00000010
205 #define ACM_STREAMCONVERTF_END 0x00000020
207 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
208 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
209 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
211 #define ACM_STREAMOPENF_QUERY 0x00000001
212 #define ACM_STREAMOPENF_ASYNC 0x00000002
213 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
215 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
216 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
217 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
219 #define ACMDM_USER (DRV_USER + 0x0000)
220 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
221 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
223 #define ACMDM_BASE ACMDM_RESERVED_LOW
225 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
229 DECLARE_HANDLE(HACMDRIVERID
);
230 DECLARE_HANDLE(HACMDRIVER
);
231 DECLARE_HANDLE(HACMSTREAM
);
232 DECLARE_HANDLE(HACMOBJ
);
233 typedef HACMDRIVERID
*PHACMDRIVERID
, *LPHACMDRIVERID
;
234 typedef HACMDRIVER
*PHACMDRIVER
, *LPHACMDRIVER
;
235 typedef HACMSTREAM
*PHACMSTREAM
, *LPHACMSTREAM
;
236 typedef HACMOBJ
*PHACMOBJ
, *LPHACMOBJ
;
238 /***********************************************************************
242 typedef BOOL (CALLBACK
*ACMDRIVERENUMCB
)(
243 HACMDRIVERID hadid
, DWORD dwInstance
, DWORD fdwSupport
246 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCA
)(
247 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
250 typedef UINT (CALLBACK
*ACMFILTERCHOOSEHOOKPROCW
)(
251 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
253 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
255 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCA
)(
256 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
259 typedef UINT (CALLBACK
*ACMFORMATCHOOSEHOOKPROCW
)(
260 HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
262 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
264 /***********************************************************************
268 typedef struct _ACMDRIVERDETAILSA
287 CHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
288 CHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
289 CHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
290 CHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
291 CHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
292 } ACMDRIVERDETAILSA
, *PACMDRIVERDETAILSA
, *LPACMDRIVERDETAILSA
;
294 typedef struct _ACMDRIVERDETAILSW
313 WCHAR szShortName
[ACMDRIVERDETAILS_SHORTNAME_CHARS
];
314 WCHAR szLongName
[ACMDRIVERDETAILS_LONGNAME_CHARS
];
315 WCHAR szCopyright
[ACMDRIVERDETAILS_COPYRIGHT_CHARS
];
316 WCHAR szLicensing
[ACMDRIVERDETAILS_LICENSING_CHARS
];
317 WCHAR szFeatures
[ACMDRIVERDETAILS_FEATURES_CHARS
];
318 } ACMDRIVERDETAILSW
, *PACMDRIVERDETAILSW
, *LPACMDRIVERDETAILSW
;
320 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS
)
321 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS
)
322 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS
)
324 typedef struct _ACMFILTERCHOOSEA
336 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
337 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
342 PWAVEFILTER pwfltrEnum
;
345 LPCSTR pszTemplateName
;
347 ACMFILTERCHOOSEHOOKPROCA pfnHook
;
348 } ACMFILTERCHOOSEA
, *PACMFILTERCHOOSEA
, *LPACMFILTERCHOOSEA
;
350 typedef struct _ACMFILTERCHOOSEW
362 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
363 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
368 PWAVEFILTER pwfltrEnum
;
371 LPCWSTR pszTemplateName
;
373 ACMFILTERCHOOSEHOOKPROCW pfnHook
;
374 } ACMFILTERCHOOSEW
, *PACMFILTERCHOOSEW
, *LPACMFILTERCHOOSEW
;
376 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE
)
377 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE
)
378 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE
)
380 typedef struct _ACMFILTERDETAILSA
388 CHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
389 } ACMFILTERDETAILSA
, *PACMFILTERDETAILSA
, *LPACMFILTERDETAILSA
;
391 typedef struct _ACMFILTERDETAILSW
399 WCHAR szFilter
[ACMFILTERDETAILS_FILTER_CHARS
];
400 } ACMFILTERDETAILSW
, *PACMFILTERDETAILSW
, *LPACMFILTERDETAILSW
;
402 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS
)
403 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS
)
404 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS
)
406 typedef struct _ACMFILTERTAGDETAILSA
409 DWORD dwFilterTagIndex
;
413 DWORD cStandardFilters
;
414 CHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
415 } ACMFILTERTAGDETAILSA
, *PACMFILTERTAGDETAILSA
, *LPACMFILTERTAGDETAILSA
;
417 typedef struct _ACMFILTERTAGDETAILSW
420 DWORD dwFilterTagIndex
;
424 DWORD cStandardFilters
;
425 WCHAR szFilterTag
[ACMFILTERTAGDETAILS_FILTERTAG_CHARS
];
426 } ACMFILTERTAGDETAILSW
, *PACMFILTERTAGDETAILSW
, *LPACMFILTERTAGDETAILSW
;
428 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS
)
429 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS
)
430 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS
)
432 typedef struct _ACMFORMATCHOOSEA
443 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
444 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
450 PWAVEFORMATEX pwfxEnum
;
453 LPCSTR pszTemplateName
;
455 ACMFORMATCHOOSEHOOKPROCA pfnHook
;
456 } ACMFORMATCHOOSEA
, *PACMFORMATCHOOSEA
, *LPACMFORMATCHOOSEA
;
458 typedef struct _ACMFORMATCHOOSEW
469 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
470 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
476 LPWAVEFORMATEX pwfxEnum
;
479 LPCWSTR pszTemplateName
;
481 ACMFORMATCHOOSEHOOKPROCW pfnHook
;
482 } ACMFORMATCHOOSEW
, *PACMFORMATCHOOSEW
, *LPACMFORMATCHOOSEW
;
484 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE
)
485 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE
)
486 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE
)
488 typedef struct _ACMFORMATDETAILSA
496 CHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
497 } ACMFORMATDETAILSA
, *PACMFORMATDETAILSA
, *LPACMFORMATDETAILSA
;
499 typedef struct _ACMFORMATDETAILSW
507 WCHAR szFormat
[ACMFORMATDETAILS_FORMAT_CHARS
];
508 } ACMFORMATDETAILSW
, *PACMFORMATDETAILSW
, *LPACMFORMATDETAILSW
;
510 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS
)
511 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS
)
512 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS
)
514 typedef struct _ACMFORMATTAGDETAILSA
517 DWORD dwFormatTagIndex
;
521 DWORD cStandardFormats
;
522 CHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
523 } ACMFORMATTAGDETAILSA
, *PACMFORMATTAGDETAILSA
, *LPACMFORMATTAGDETAILSA
;
525 typedef struct _ACMFORMATTAGDETAILSW
528 DWORD dwFormatTagIndex
;
532 DWORD cStandardFormats
;
533 WCHAR szFormatTag
[ACMFORMATTAGDETAILS_FORMATTAG_CHARS
];
534 } ACMFORMATTAGDETAILSW
, *PACMFORMATTAGDETAILSW
, *LPACMFORMATTAGDETAILSW
;
536 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS
)
537 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS
)
538 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS
)
540 typedef struct _ACMSTREAMHEADER
547 DWORD cbSrcLengthUsed
;
551 DWORD cbDstLengthUsed
;
553 DWORD dwReservedDriver
[10];
554 } ACMSTREAMHEADER
, *PACMSTREAMHEADER
, *LPACMSTREAMHEADER
;
556 /***********************************************************************
560 typedef BOOL (CALLBACK
*ACMFILTERENUMCBA
)(
561 HACMDRIVERID hadid
, PACMFILTERDETAILSA pafd
,
562 DWORD dwInstance
, DWORD fdwSupport
565 typedef BOOL (CALLBACK
*ACMFILTERENUMCBW
)(
566 HACMDRIVERID hadid
, PACMFILTERDETAILSW pafd
,
567 DWORD dwInstance
, DWORD fdwSupport
570 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
572 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBA
)(
573 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSA paftd
,
574 DWORD dwInstance
, DWORD fdwSupport
577 typedef BOOL (CALLBACK
*ACMFILTERTAGENUMCBW
)(
578 HACMDRIVERID hadid
, PACMFILTERTAGDETAILSW paftd
,
579 DWORD dwInstance
, DWORD fdwSupport
582 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
584 typedef BOOL (CALLBACK
*ACMFORMATENUMCBA
)(
585 HACMDRIVERID hadid
, PACMFORMATDETAILSA pafd
,
586 DWORD dwInstance
, DWORD fdwSupport
589 typedef BOOL (CALLBACK
*ACMFORMATENUMCBW
)(
590 HACMDRIVERID hadid
, PACMFORMATDETAILSW pafd
,
591 DWORD dwInstance
, DWORD fdwSupport
594 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
596 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBA
)(
597 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSA paftd
,
598 DWORD dwInstance
, DWORD fdwSupport
601 typedef BOOL (CALLBACK
*ACMFORMATTAGENUMCBW
)(
602 HACMDRIVERID hadid
, PACMFORMATTAGDETAILSW paftd
,
603 DWORD dwInstance
, DWORD fdwSupport
606 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
608 /***********************************************************************
612 MMRESULT WINAPI
acmDriverAddA(
613 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
614 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
616 MMRESULT WINAPI
acmDriverAddW(
617 PHACMDRIVERID phadid
, HINSTANCE hinstModule
,
618 LPARAM lParam
, DWORD dwPriority
, DWORD fdwAdd
620 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
622 MMRESULT WINAPI
acmDriverClose(
623 HACMDRIVER had
, DWORD fdwClose
625 MMRESULT WINAPI
acmDriverDetailsA(
626 HACMDRIVERID hadid
, PACMDRIVERDETAILSA padd
, DWORD fdwDetails
628 MMRESULT WINAPI
acmDriverDetailsW(
629 HACMDRIVERID hadid
, PACMDRIVERDETAILSW padd
, DWORD fdwDetails
631 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
633 MMRESULT WINAPI
acmDriverEnum(
634 ACMDRIVERENUMCB fnCallback
, DWORD dwInstance
, DWORD fdwEnum
636 MMRESULT WINAPI
acmDriverID(
637 HACMOBJ hao
, PHACMDRIVERID phadid
, DWORD fdwDriverID
639 LRESULT WINAPI
acmDriverMessage(
640 HACMDRIVER had
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
642 MMRESULT WINAPI
acmDriverOpen(
643 PHACMDRIVER phad
, HACMDRIVERID hadid
, DWORD fdwOpen
645 MMRESULT WINAPI
acmDriverPriority(
646 HACMDRIVERID hadid
, DWORD dwPriority
, DWORD fdwPriority
648 MMRESULT WINAPI
acmDriverRemove(
649 HACMDRIVERID hadid
, DWORD fdwRemove
651 MMRESULT WINAPI
acmFilterChooseA(
652 PACMFILTERCHOOSEA pafltrc
654 MMRESULT WINAPI
acmFilterChooseW(
655 PACMFILTERCHOOSEW pafltrc
657 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
659 MMRESULT WINAPI
acmFilterDetailsA(
660 HACMDRIVER had
, PACMFILTERDETAILSA pafd
, DWORD fdwDetails
662 MMRESULT WINAPI
acmFilterDetailsW(
663 HACMDRIVER had
, PACMFILTERDETAILSW pafd
, DWORD fdwDetails
665 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
667 MMRESULT WINAPI
acmFilterEnumA(
668 HACMDRIVER had
, PACMFILTERDETAILSA pafd
,
669 ACMFILTERENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
671 MMRESULT WINAPI
acmFilterEnumW(
672 HACMDRIVER had
, PACMFILTERDETAILSW pafd
,
673 ACMFILTERENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
675 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
677 MMRESULT WINAPI
acmFilterTagDetailsA(
678 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
, DWORD fdwDetails
680 MMRESULT WINAPI
acmFilterTagDetailsW(
681 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
, DWORD fdwDetails
683 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
685 MMRESULT WINAPI
acmFilterTagEnumA(
686 HACMDRIVER had
, PACMFILTERTAGDETAILSA paftd
,
687 ACMFILTERTAGENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
689 MMRESULT WINAPI
acmFilterTagEnumW(
690 HACMDRIVER had
, PACMFILTERTAGDETAILSW paftd
,
691 ACMFILTERTAGENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
693 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
695 MMRESULT WINAPI
acmFormatChooseA(
696 PACMFORMATCHOOSEA pafmtc
698 MMRESULT WINAPI
acmFormatChooseW(
699 PACMFORMATCHOOSEW pafmtc
701 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
703 MMRESULT WINAPI
acmFormatDetailsA(
704 HACMDRIVER had
, PACMFORMATDETAILSA pafd
, DWORD fdwDetails
706 MMRESULT WINAPI
acmFormatDetailsW(
707 HACMDRIVER had
, PACMFORMATDETAILSW pafd
, DWORD fdwDetails
709 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
711 MMRESULT WINAPI
acmFormatEnumA(
712 HACMDRIVER had
, PACMFORMATDETAILSA pafd
,
713 ACMFORMATENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
715 MMRESULT WINAPI
acmFormatEnumW(
716 HACMDRIVER had
, PACMFORMATDETAILSW pafd
,
717 ACMFORMATENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
719 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
721 MMRESULT WINAPI
acmFormatSuggest(
722 HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
, PWAVEFORMATEX pwfxDst
,
723 DWORD cbwfxDst
, DWORD fdwSuggest
725 MMRESULT WINAPI
acmFormatTagDetailsA(
726 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
, DWORD fdwDetails
728 MMRESULT WINAPI
acmFormatTagDetailsW(
729 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
, DWORD fdwDetails
731 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
733 MMRESULT WINAPI
acmFormatTagEnumA(
734 HACMDRIVER had
, PACMFORMATTAGDETAILSA paftd
,
735 ACMFORMATTAGENUMCBA fnCallback
, DWORD dwInstance
, DWORD fdwEnum
737 MMRESULT WINAPI
acmFormatTagEnumW(
738 HACMDRIVER had
, PACMFORMATTAGDETAILSW paftd
,
739 ACMFORMATTAGENUMCBW fnCallback
, DWORD dwInstance
, DWORD fdwEnum
741 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
743 DWORD WINAPI
acmGetVersion(void
745 MMRESULT WINAPI
acmMetrics(
746 HACMOBJ hao
, UINT uMetric
, LPVOID pMetric
748 MMRESULT WINAPI
acmStreamClose(
749 HACMSTREAM has
, DWORD fdwClose
751 MMRESULT WINAPI
acmStreamConvert(
752 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwConvert
754 MMRESULT WINAPI
acmStreamMessage(
755 HACMSTREAM has
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
757 MMRESULT WINAPI
acmStreamOpen(
758 PHACMSTREAM phas
, HACMDRIVER had
, PWAVEFORMATEX pwfxSrc
,
759 PWAVEFORMATEX pwfxDst
, PWAVEFILTER pwfltr
, DWORD dwCallback
,
760 DWORD dwInstance
, DWORD fdwOpen
762 MMRESULT WINAPI
acmStreamPrepareHeader(
763 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwPrepare
765 MMRESULT WINAPI
acmStreamReset(
766 HACMSTREAM has
, DWORD fdwReset
768 MMRESULT WINAPI
acmStreamSize(
769 HACMSTREAM has
, DWORD cbInput
,
770 LPDWORD pdwOutputBytes
, DWORD fdwSize
772 MMRESULT WINAPI
acmStreamUnprepareHeader(
773 HACMSTREAM has
, PACMSTREAMHEADER pash
, DWORD fdwUnprepare
778 #endif /* defined(__cplusplus) */
780 #endif /* __WINE_MSACM_H */