Allow an application to open a dos device ending with ':'.
[wine/wine64.git] / include / msacm.h
blobd00310df19c24b967f9f028aa6d7c7d1bce3bc26
1 /*
2 * msacm.h - Declarations for MSACM
3 */
5 #ifndef __WINE_MSACM_H
6 #define __WINE_MSACM_H
8 #include "windef.h"
9 #include "mmsystem.h"
10 #include "mmreg.h"
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* defined(__cplusplus) */
16 /***********************************************************************
17 * Defines/Enums
20 #define ACMERR_BASE 512
21 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
22 #define ACMERR_BUSY (ACMERR_BASE + 1)
23 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
24 #define ACMERR_CANCELED (ACMERR_BASE + 3)
26 #define MM_ACM_OPEN MM_STREAM_OPEN
27 #define MM_ACM_CLOSE MM_STREAM_CLOSE
28 #define MM_ACM_DONE MM_STREAM_DONE
30 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
31 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
32 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
33 #define ACM_DRIVERADDF_LOCAL 0x00000000L
34 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
36 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
37 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
38 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
39 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
40 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
42 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
43 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
45 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
46 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
47 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
48 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
49 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
50 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
51 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
53 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
54 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
56 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
57 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
58 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
59 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
60 #define ACM_DRIVERPRIORITYF_END 0x00020000L
61 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
63 #define MM_ACM_FILTERCHOOSE 0x8000
65 #define FILTERCHOOSE_MESSAGE 0
66 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
67 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
68 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
70 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
71 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
72 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
73 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
74 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
75 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
77 #define ACMFILTERDETAILS_FILTER_CHARS 128
79 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
80 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
81 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
83 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
85 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
86 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
87 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
88 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
90 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
92 #define ACMHELPMSGSTRINGA "acmchoose_help"
93 #define ACMHELPMSGSTRINGW L"acmchoose_help"
95 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
96 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
98 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
99 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
101 #define MM_ACM_FORMATCHOOSE 0x8000
103 #define FORMATCHOOSE_MESSAGE 0
104 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
105 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
106 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
108 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
109 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
110 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
111 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
112 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
113 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
115 #define ACMFORMATDETAILS_FORMAT_CHARS 128
117 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
118 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
119 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
121 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
122 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
123 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
124 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
125 #define ACM_FORMATENUMF_CONVERT 0x00100000L
126 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
127 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
128 #define ACM_FORMATENUMF_INPUT 0x00800000L
129 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
131 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
132 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
133 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
134 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
135 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
137 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
139 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
140 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
141 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
142 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
144 #define ACM_METRIC_COUNT_DRIVERS 1
145 #define ACM_METRIC_COUNT_CODECS 2
146 #define ACM_METRIC_COUNT_CONVERTERS 3
147 #define ACM_METRIC_COUNT_FILTERS 4
148 #define ACM_METRIC_COUNT_DISABLED 5
149 #define ACM_METRIC_COUNT_HARDWARE 6
150 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
151 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
152 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
153 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
154 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
155 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
156 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
157 #define ACM_METRIC_MAX_SIZE_FORMAT 50
158 #define ACM_METRIC_MAX_SIZE_FILTER 51
159 #define ACM_METRIC_DRIVER_SUPPORT 100
160 #define ACM_METRIC_DRIVER_PRIORITY 101
162 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
163 #define ACM_STREAMCONVERTF_START 0x00000010
164 #define ACM_STREAMCONVERTF_END 0x00000020
166 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
167 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
168 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
170 #define ACM_STREAMOPENF_QUERY 0x00000001
171 #define ACM_STREAMOPENF_ASYNC 0x00000002
172 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
174 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
175 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
176 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
178 #define ACMDM_USER (DRV_USER + 0x0000)
179 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
180 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
182 #define ACMDM_BASE ACMDM_RESERVED_LOW
184 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
186 /***********************************************************************
187 * Callbacks
190 typedef BOOL CALLBACK (*ACMDRIVERENUMCB)(
191 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
194 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCA)(
195 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
198 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCW)(
199 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
201 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
203 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCA)(
204 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
207 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCW)(
208 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
210 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
212 /***********************************************************************
213 * Structures
216 typedef struct _ACMDRIVERDETAILSA
218 DWORD cbStruct;
220 FOURCC fccType;
221 FOURCC fccComp;
223 WORD wMid;
224 WORD wPid;
226 DWORD vdwACM;
227 DWORD vdwDriver;
229 DWORD fdwSupport;
230 DWORD cFormatTags;
231 DWORD cFilterTags;
233 HICON hicon;
235 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
236 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
237 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
238 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
239 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
240 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
242 typedef struct _ACMDRIVERDETAILSW
244 DWORD cbStruct;
246 FOURCC fccType;
247 FOURCC fccComp;
249 WORD wMid;
250 WORD wPid;
252 DWORD vdwACM;
253 DWORD vdwDriver;
255 DWORD fdwSupport;
256 DWORD cFormatTags;
257 DWORD cFilterTags;
259 HICON hicon;
261 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
262 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
263 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
264 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
265 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
266 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
268 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
269 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
271 typedef struct _ACMFILTERCHOOSEA
273 DWORD cbStruct;
274 DWORD fdwStyle;
276 HWND hwndOwner;
278 PWAVEFILTER pwfltr;
279 DWORD cbwfltr;
281 LPCSTR pszTitle;
283 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
284 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
285 LPSTR pszName;
286 DWORD cchName;
288 DWORD fdwEnum;
289 PWAVEFILTER pwfltrEnum;
291 HINSTANCE hInstance;
292 LPCSTR pszTemplateName;
293 LPARAM lCustData;
294 ACMFILTERCHOOSEHOOKPROCA pfnHook;
295 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
297 typedef struct _ACMFILTERCHOOSEW
299 DWORD cbStruct;
300 DWORD fdwStyle;
302 HWND hwndOwner;
304 PWAVEFILTER pwfltr;
305 DWORD cbwfltr;
307 LPCWSTR pszTitle;
309 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
310 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
311 LPWSTR pszName;
312 DWORD cchName;
314 DWORD fdwEnum;
315 PWAVEFILTER pwfltrEnum;
317 HINSTANCE hInstance;
318 LPCWSTR pszTemplateName;
319 LPARAM lCustData;
320 ACMFILTERCHOOSEHOOKPROCW pfnHook;
321 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
323 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
324 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
326 typedef struct _ACMFILTERDETAILSA
328 DWORD cbStruct;
329 DWORD dwFilterIndex;
330 DWORD dwFilterTag;
331 DWORD fdwSupport;
332 PWAVEFILTER pwfltr;
333 DWORD cbwfltr;
334 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
335 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
337 typedef struct _ACMFILTERDETAILSW
339 DWORD cbStruct;
340 DWORD dwFilterIndex;
341 DWORD dwFilterTag;
342 DWORD fdwSupport;
343 PWAVEFILTER pwfltr;
344 DWORD cbwfltr;
345 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
346 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
348 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
349 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
351 typedef struct _ACMFILTERTAGDETAILSA
353 DWORD cbStruct;
354 DWORD dwFilterTagIndex;
355 DWORD dwFilterTag;
356 DWORD cbFilterSize;
357 DWORD fdwSupport;
358 DWORD cStandardFilters;
359 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
360 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
362 typedef struct _ACMFILTERTAGDETAILSW
364 DWORD cbStruct;
365 DWORD dwFilterTagIndex;
366 DWORD dwFilterTag;
367 DWORD cbFilterSize;
368 DWORD fdwSupport;
369 DWORD cStandardFilters;
370 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
371 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
373 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
374 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
376 typedef struct _ACMFORMATCHOOSEA
378 DWORD cbStruct;
379 DWORD fdwStyle;
381 HWND hwndOwner;
383 PWAVEFORMATEX pwfx;
384 DWORD cbwfx;
385 LPCSTR pszTitle;
387 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
388 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
390 LPSTR pszName;
391 DWORD cchName;
393 DWORD fdwEnum;
394 PWAVEFORMATEX pwfxEnum;
396 HINSTANCE hInstance;
397 LPCSTR pszTemplateName;
398 LPARAM lCustData;
399 ACMFORMATCHOOSEHOOKPROCA pfnHook;
400 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
402 typedef struct _ACMFORMATCHOOSEW
404 DWORD cbStruct;
405 DWORD fdwStyle;
407 HWND hwndOwner;
409 PWAVEFORMATEX pwfx;
410 DWORD cbwfx;
411 LPCWSTR pszTitle;
413 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
414 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
416 LPWSTR pszName;
417 DWORD cchName;
419 DWORD fdwEnum;
420 LPWAVEFORMATEX pwfxEnum;
422 HINSTANCE hInstance;
423 LPCWSTR pszTemplateName;
424 LPARAM lCustData;
425 ACMFORMATCHOOSEHOOKPROCW pfnHook;
426 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
428 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
429 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
431 typedef struct _ACMFORMATDETAILSA
433 DWORD cbStruct;
434 DWORD dwFormatIndex;
435 DWORD dwFormatTag;
436 DWORD fdwSupport;
437 PWAVEFORMATEX pwfx;
438 DWORD cbwfx;
439 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
440 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
442 typedef struct _ACMFORMATDETAILSW
444 DWORD cbStruct;
445 DWORD dwFormatIndex;
446 DWORD dwFormatTag;
447 DWORD fdwSupport;
448 PWAVEFORMATEX pwfx;
449 DWORD cbwfx;
450 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
451 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
453 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
454 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
456 typedef struct _ACMFORMATTAGDETAILSA
458 DWORD cbStruct;
459 DWORD dwFormatTagIndex;
460 DWORD dwFormatTag;
461 DWORD cbFormatSize;
462 DWORD fdwSupport;
463 DWORD cStandardFormats;
464 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
465 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
467 typedef struct _ACMFORMATTAGDETAILSW
469 DWORD cbStruct;
470 DWORD dwFormatTagIndex;
471 DWORD dwFormatTag;
472 DWORD cbFormatSize;
473 DWORD fdwSupport;
474 DWORD cStandardFormats;
475 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
476 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
478 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
479 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
481 typedef struct _ACMSTREAMHEADER
483 DWORD cbStruct;
484 DWORD fdwStatus;
485 DWORD dwUser;
486 LPBYTE pbSrc;
487 DWORD cbSrcLength;
488 DWORD cbSrcLengthUsed;
489 DWORD dwSrcUser;
490 LPBYTE pbDst;
491 DWORD cbDstLength;
492 DWORD cbDstLengthUsed;
493 DWORD dwDstUser;
494 DWORD dwReservedDriver[10];
495 } ACMSTREAMHEADER, *PACMSTREAMHEADER;
497 /***********************************************************************
498 * Callbacks 2
501 typedef BOOL CALLBACK (*ACMFILTERENUMCBA)(
502 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
503 DWORD dwInstance, DWORD fdwSupport
506 typedef BOOL CALLBACK (*ACMFILTERENUMCBW)(
507 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
508 DWORD dwInstance, DWORD fdwSupport
511 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
513 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBA)(
514 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
515 DWORD dwInstance, DWORD fdwSupport
518 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBW)(
519 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
520 DWORD dwInstance, DWORD fdwSupport
523 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
525 typedef BOOL CALLBACK (*ACMFORMATENUMCBA)(
526 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
527 DWORD dwInstance, DWORD fdwSupport
530 typedef BOOL CALLBACK (*ACMFORMATENUMCBW)(
531 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
532 DWORD dwInstance, DWORD fdwSupport
535 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
537 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBA)(
538 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
539 DWORD dwInstance, DWORD fdwSupport
542 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBW)(
543 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
544 DWORD dwInstance, DWORD fdwSupport
547 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
549 /***********************************************************************
550 * Functions - Win32
553 MMRESULT WINAPI acmDriverAddA(
554 PHACMDRIVERID phadid, HINSTANCE hinstModule,
555 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
557 MMRESULT WINAPI acmDriverAddW(
558 PHACMDRIVERID phadid, HINSTANCE hinstModule,
559 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
561 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
563 MMRESULT WINAPI acmDriverClose(
564 HACMDRIVER had, DWORD fdwClose
566 MMRESULT WINAPI acmDriverDetailsA(
567 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
569 MMRESULT WINAPI acmDriverDetailsW(
570 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
572 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
574 MMRESULT WINAPI acmDriverEnum(
575 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
577 MMRESULT WINAPI acmDriverID(
578 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
580 LRESULT WINAPI acmDriverMessage(
581 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
583 MMRESULT WINAPI acmDriverOpen(
584 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
586 MMRESULT WINAPI acmDriverPriority(
587 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
589 MMRESULT WINAPI acmDriverRemove(
590 HACMDRIVERID hadid, DWORD fdwRemove
592 MMRESULT WINAPI acmFilterChooseA(
593 PACMFILTERCHOOSEA pafltrc
595 MMRESULT WINAPI acmFilterChooseW(
596 PACMFILTERCHOOSEW pafltrc
598 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
600 MMRESULT WINAPI acmFilterDetailsA(
601 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
603 MMRESULT WINAPI acmFilterDetailsW(
604 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
606 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
608 MMRESULT WINAPI acmFilterEnumA(
609 HACMDRIVER had, PACMFILTERDETAILSA pafd,
610 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
612 MMRESULT WINAPI acmFilterEnumW(
613 HACMDRIVER had, PACMFILTERDETAILSW pafd,
614 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
616 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
618 MMRESULT WINAPI acmFilterTagDetailsA(
619 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
621 MMRESULT WINAPI acmFilterTagDetailsW(
622 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
624 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
626 MMRESULT WINAPI acmFilterTagEnumA(
627 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
628 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
630 MMRESULT WINAPI acmFilterTagEnumW(
631 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
632 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
634 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
636 MMRESULT WINAPI acmFormatChooseA(
637 PACMFORMATCHOOSEA pafmtc
639 MMRESULT WINAPI acmFormatChooseW(
640 PACMFORMATCHOOSEW pafmtc
642 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
644 MMRESULT WINAPI acmFormatDetailsA(
645 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
647 MMRESULT WINAPI acmFormatDetailsW(
648 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
650 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
652 MMRESULT WINAPI acmFormatEnumA(
653 HACMDRIVER had, PACMFORMATDETAILSA pafd,
654 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
656 MMRESULT WINAPI acmFormatEnumW(
657 HACMDRIVER had, PACMFORMATDETAILSW pafd,
658 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
660 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
662 MMRESULT WINAPI acmFormatSuggest(
663 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
664 DWORD cbwfxDst, DWORD fdwSuggest
666 MMRESULT WINAPI acmFormatTagDetailsA(
667 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
669 MMRESULT WINAPI acmFormatTagDetailsW(
670 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
672 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
674 MMRESULT WINAPI acmFormatTagEnumA(
675 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
676 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
678 MMRESULT WINAPI acmFormatTagEnumW(
679 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
680 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
682 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
684 DWORD WINAPI acmGetVersion(
686 MMRESULT WINAPI acmMetrics(
687 HACMOBJ hao, UINT uMetric, LPVOID pMetric
689 MMRESULT WINAPI acmStreamClose(
690 HACMSTREAM has, DWORD fdwClose
692 MMRESULT WINAPI acmStreamConvert(
693 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
695 MMRESULT WINAPI acmStreamMessage(
696 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
698 MMRESULT WINAPI acmStreamOpen(
699 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
700 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
701 DWORD dwInstance, DWORD fdwOpen
703 MMRESULT WINAPI acmStreamPrepareHeader(
704 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
706 MMRESULT WINAPI acmStreamReset(
707 HACMSTREAM has, DWORD fdwReset
709 MMRESULT WINAPI acmStreamSize(
710 HACMSTREAM has, DWORD cbInput,
711 LPDWORD pdwOutputBytes, DWORD fdwSize
713 MMRESULT WINAPI acmStreamUnprepareHeader(
714 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
717 #ifdef __cplusplus
718 } /* extern "C" */
719 #endif /* defined(__cplusplus) */
721 #endif /* __WINE_MSACM_H */