- removed (now obsolete) driver.h file (it's content is now in mmsystem.h)
[wine/multimedia.git] / include / msacm.h
blob37a277748df2932180c1060e30d677160c0f6356
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"
94 #define ACMHELPMSGSTRING16 "acmchoose_help"
96 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
97 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
98 #define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
100 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
101 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
102 #define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"
104 #define MM_ACM_FORMATCHOOSE 0x8000
106 #define FORMATCHOOSE_MESSAGE 0
107 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
108 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
109 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
111 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
112 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
113 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
114 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
115 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
116 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
118 #define ACMFORMATDETAILS_FORMAT_CHARS 128
120 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
121 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
122 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
124 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
125 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
126 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
127 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
128 #define ACM_FORMATENUMF_CONVERT 0x00100000L
129 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
130 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
131 #define ACM_FORMATENUMF_INPUT 0x00800000L
132 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
134 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
135 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
136 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
137 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
138 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
140 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
142 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
143 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
144 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
145 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
147 #define ACM_METRIC_COUNT_DRIVERS 1
148 #define ACM_METRIC_COUNT_CODECS 2
149 #define ACM_METRIC_COUNT_CONVERTERS 3
150 #define ACM_METRIC_COUNT_FILTERS 4
151 #define ACM_METRIC_COUNT_DISABLED 5
152 #define ACM_METRIC_COUNT_HARDWARE 6
153 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
154 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
155 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
156 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
157 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
158 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
159 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
160 #define ACM_METRIC_MAX_SIZE_FORMAT 50
161 #define ACM_METRIC_MAX_SIZE_FILTER 51
162 #define ACM_METRIC_DRIVER_SUPPORT 100
163 #define ACM_METRIC_DRIVER_PRIORITY 101
165 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
166 #define ACM_STREAMCONVERTF_START 0x00000010
167 #define ACM_STREAMCONVERTF_END 0x00000020
169 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
170 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
171 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
173 #define ACM_STREAMOPENF_QUERY 0x00000001
174 #define ACM_STREAMOPENF_ASYNC 0x00000002
175 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
177 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
178 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
179 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
181 #define ACMDM_USER (DRV_USER + 0x0000)
182 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
183 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
185 #define ACMDM_BASE ACMDM_RESERVED_LOW
187 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
189 /***********************************************************************
190 * Callbacks
193 typedef BOOL CALLBACK (*ACMDRIVERENUMCB)(
194 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
197 typedef BOOL16 CALLBACK (*ACMDRIVERENUMCB16)(
198 HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
201 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCA)(
202 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
205 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCW)(
206 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
209 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROC16)(
210 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
213 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCA)(
214 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
217 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCW)(
218 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
221 typedef UINT16 CALLBACK (*ACMFORMATCHOOSEHOOKPROC16)(
222 HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
225 /***********************************************************************
226 * Structures
229 typedef struct _ACMDRIVERDETAILSA
231 DWORD cbStruct;
233 FOURCC fccType;
234 FOURCC fccComp;
236 WORD wMid;
237 WORD wPid;
239 DWORD vdwACM;
240 DWORD vdwDriver;
242 DWORD fdwSupport;
243 DWORD cFormatTags;
244 DWORD cFilterTags;
246 HICON hicon;
248 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
249 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
250 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
251 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
252 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
253 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
255 typedef struct _ACMDRIVERDETAILSW
257 DWORD cbStruct;
259 FOURCC fccType;
260 FOURCC fccComp;
262 WORD wMid;
263 WORD wPid;
265 DWORD vdwACM;
266 DWORD vdwDriver;
268 DWORD fdwSupport;
269 DWORD cFormatTags;
270 DWORD cFilterTags;
272 HICON hicon;
274 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
275 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
276 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
277 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
278 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
279 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
281 typedef struct _ACMDRIVERDETAILS16
283 DWORD cbStruct;
285 FOURCC fccType;
286 FOURCC fccComp;
288 WORD wMid;
289 WORD wPid;
291 DWORD vdwACM;
292 DWORD vdwDriver;
294 DWORD fdwSupport;
295 DWORD cFormatTags;
296 DWORD cFilterTags;
298 HICON16 hicon;
300 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
301 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
302 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
303 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
304 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
305 } ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;
307 typedef struct _ACMFILTERCHOOSEA
309 DWORD cbStruct;
310 DWORD fdwStyle;
312 HWND hwndOwner;
314 PWAVEFILTER pwfltr;
315 DWORD cbwfltr;
317 LPCSTR pszTitle;
319 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
320 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
321 LPSTR pszName;
322 DWORD cchName;
324 DWORD fdwEnum;
325 PWAVEFILTER pwfltrEnum;
327 HINSTANCE hInstance;
328 LPCSTR pszTemplateName;
329 LPARAM lCustData;
330 ACMFILTERCHOOSEHOOKPROCA pfnHook;
331 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
333 typedef struct _ACMFILTERCHOOSEW
335 DWORD cbStruct;
336 DWORD fdwStyle;
338 HWND hwndOwner;
340 PWAVEFILTER pwfltr;
341 DWORD cbwfltr;
343 LPCWSTR pszTitle;
345 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
346 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
347 LPWSTR pszName;
348 DWORD cchName;
350 DWORD fdwEnum;
351 PWAVEFILTER pwfltrEnum;
353 HINSTANCE hInstance;
354 LPCWSTR pszTemplateName;
355 LPARAM lCustData;
356 ACMFILTERCHOOSEHOOKPROCW pfnHook;
357 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
359 typedef struct _ACMFILTERCHOOSE16
361 DWORD cbStruct;
362 DWORD fdwStyle;
364 HWND16 hwndOwner;
366 LPWAVEFILTER pwfltr;
367 DWORD cbwfltr;
369 LPCSTR pszTitle;
371 char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
372 char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
373 LPSTR pszName;
374 DWORD cchName;
376 DWORD fdwEnum;
377 LPWAVEFILTER pwfltrEnum;
379 HINSTANCE16 hInstance;
380 LPCSTR pszTemplateName;
381 LPARAM lCustData;
382 ACMFILTERCHOOSEHOOKPROC16 pfnHook;
383 } ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
385 typedef struct _ACMFILTERDETAILSA
387 DWORD cbStruct;
388 DWORD dwFilterIndex;
389 DWORD dwFilterTag;
390 DWORD fdwSupport;
391 PWAVEFILTER pwfltr;
392 DWORD cbwfltr;
393 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
394 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
396 typedef struct _ACMFILTERDETAILSW
398 DWORD cbStruct;
399 DWORD dwFilterIndex;
400 DWORD dwFilterTag;
401 DWORD fdwSupport;
402 PWAVEFILTER pwfltr;
403 DWORD cbwfltr;
404 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
405 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
407 typedef struct _ACMFILTERDETAILS16
409 DWORD cbStruct;
410 DWORD dwFilterIndex;
411 DWORD dwFilterTag;
412 DWORD fdwSupport;
413 LPWAVEFILTER pwfltr;
414 DWORD cbwfltr;
415 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
416 } ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
418 typedef struct _ACMFILTERTAGDETAILSA
420 DWORD cbStruct;
421 DWORD dwFilterTagIndex;
422 DWORD dwFilterTag;
423 DWORD cbFilterSize;
424 DWORD fdwSupport;
425 DWORD cStandardFilters;
426 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
427 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
429 typedef struct _ACMFILTERTAGDETAILSW
431 DWORD cbStruct;
432 DWORD dwFilterTagIndex;
433 DWORD dwFilterTag;
434 DWORD cbFilterSize;
435 DWORD fdwSupport;
436 DWORD cStandardFilters;
437 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
438 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
440 typedef struct _ACMFILTERTAGDETAILS16
442 DWORD cbStruct;
443 DWORD dwFilterTagIndex;
444 DWORD dwFilterTag;
445 DWORD cbFilterSize;
446 DWORD fdwSupport;
447 DWORD cStandardFilters;
448 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
449 } ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;
451 typedef struct _ACMFORMATCHOOSEA
453 DWORD cbStruct;
454 DWORD fdwStyle;
456 HWND hwndOwner;
458 PWAVEFORMATEX pwfx;
459 DWORD cbwfx;
460 LPCSTR pszTitle;
462 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
463 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
465 LPSTR pszName;
466 DWORD cchName;
468 DWORD fdwEnum;
469 PWAVEFORMATEX pwfxEnum;
471 HINSTANCE hInstance;
472 LPCSTR pszTemplateName;
473 LPARAM lCustData;
474 ACMFORMATCHOOSEHOOKPROCA pfnHook;
475 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
477 typedef struct _ACMFORMATCHOOSEW
479 DWORD cbStruct;
480 DWORD fdwStyle;
482 HWND hwndOwner;
484 PWAVEFORMATEX pwfx;
485 DWORD cbwfx;
486 LPCWSTR pszTitle;
488 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
489 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
491 LPWSTR pszName;
492 DWORD cchName;
494 DWORD fdwEnum;
495 LPWAVEFORMATEX pwfxEnum;
497 HINSTANCE hInstance;
498 LPCWSTR pszTemplateName;
499 LPARAM lCustData;
500 ACMFORMATCHOOSEHOOKPROCW pfnHook;
501 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
503 typedef struct _ACMFORMATCHOOSE16
505 DWORD cbStruct;
506 DWORD fdwStyle;
508 HWND16 hwndOwner;
510 LPWAVEFORMATEX pwfx;
511 DWORD cbwfx;
512 LPCSTR pszTitle;
514 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
515 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
517 LPSTR pszName;
518 DWORD cchName;
520 DWORD fdwEnum;
521 LPWAVEFORMATEX pwfxEnum;
523 HINSTANCE16 hInstance;
524 LPCSTR pszTemplateName;
525 LPARAM lCustData;
526 ACMFORMATCHOOSEHOOKPROC16 pfnHook;
527 } ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
529 typedef struct _ACMFORMATDETAILSA
531 DWORD cbStruct;
532 DWORD dwFormatIndex;
533 DWORD dwFormatTag;
534 DWORD fdwSupport;
535 PWAVEFORMATEX pwfx;
536 DWORD cbwfx;
537 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
538 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
540 typedef struct _ACMFORMATDETAILSW
542 DWORD cbStruct;
543 DWORD dwFormatIndex;
544 DWORD dwFormatTag;
545 DWORD fdwSupport;
546 PWAVEFORMATEX pwfx;
547 DWORD cbwfx;
548 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
549 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
551 typedef struct _ACMFORMATDETAILS16
553 DWORD cbStruct;
554 DWORD dwFormatIndex;
555 DWORD dwFormatTag;
556 DWORD fdwSupport;
557 LPWAVEFORMATEX pwfx;
558 DWORD cbwfx;
559 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
560 } ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
562 typedef struct _ACMFORMATTAGDETAILSA
564 DWORD cbStruct;
565 DWORD dwFormatTagIndex;
566 DWORD dwFormatTag;
567 DWORD cbFormatSize;
568 DWORD fdwSupport;
569 DWORD cStandardFormats;
570 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
571 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
573 typedef struct _ACMFORMATTAGDETAILSW
575 DWORD cbStruct;
576 DWORD dwFormatTagIndex;
577 DWORD dwFormatTag;
578 DWORD cbFormatSize;
579 DWORD fdwSupport;
580 DWORD cStandardFormats;
581 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
582 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
584 typedef struct _ACMFORMATTAGDETAILS16
586 DWORD cbStruct;
587 DWORD dwFormatTagIndex;
588 DWORD dwFormatTag;
589 DWORD cbFormatSize;
590 DWORD fdwSupport;
591 DWORD cStandardFormats;
592 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
593 } ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
595 typedef struct _ACMSTREAMHEADER
597 DWORD cbStruct;
598 DWORD fdwStatus;
599 DWORD dwUser;
600 LPBYTE pbSrc;
601 DWORD cbSrcLength;
602 DWORD cbSrcLengthUsed;
603 DWORD dwSrcUser;
604 LPBYTE pbDst;
605 DWORD cbDstLength;
606 DWORD cbDstLengthUsed;
607 DWORD dwDstUser;
608 DWORD dwReservedDriver[10];
609 } ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
610 ACMSTREAMHEADER, *PACMSTREAMHEADER;
612 /***********************************************************************
613 * Callbacks 2
616 typedef BOOL CALLBACK (*ACMFILTERENUMCBA)(
617 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
618 DWORD dwInstance, DWORD fdwSupport
621 typedef BOOL CALLBACK (*ACMFILTERENUMCBW)(
622 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
623 DWORD dwInstance, DWORD fdwSupport
626 typedef BOOL16 CALLBACK (*ACMFILTERENUMCB16)(
627 HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
628 DWORD dwInstance, DWORD fdwSupport
631 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBA)(
632 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
633 DWORD dwInstance, DWORD fdwSupport
636 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBW)(
637 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
638 DWORD dwInstance, DWORD fdwSupport
641 typedef BOOL16 CALLBACK (*ACMFILTERTAGENUMCB16)(
642 HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
643 DWORD dwInstance, DWORD fdwSupport
646 typedef BOOL CALLBACK (*ACMFORMATENUMCBA)(
647 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
648 DWORD dwInstance, DWORD fdwSupport
651 typedef BOOL CALLBACK (*ACMFORMATENUMCBW)(
652 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
653 DWORD dwInstance, DWORD fdwSupport
656 typedef BOOL16 CALLBACK (*ACMFORMATENUMCB16)(
657 HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
658 DWORD dwInstance, DWORD fdwSupport
661 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBA)(
662 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
663 DWORD dwInstance, DWORD fdwSupport
666 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBW)(
667 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
668 DWORD dwInstance, DWORD fdwSupport
671 typedef BOOL16 CALLBACK (*ACMFORMATTAGENUMCB16)(
672 HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
673 DWORD dwInstance, DWORD fdwSupport
676 /***********************************************************************
677 * Functions - Win16
680 DWORD WINAPI acmGetVersion16(
682 MMRESULT16 WINAPI acmMetrics16(
683 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric
685 MMRESULT16 WINAPI acmDriverEnum16(
686 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
688 MMRESULT16 WINAPI acmDriverDetails16(
689 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails
691 MMRESULT16 WINAPI acmDriverAdd16(
692 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
693 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
695 MMRESULT16 WINAPI acmDriverRemove16(
696 HACMDRIVERID16 hadid, DWORD fdwRemove
698 MMRESULT16 WINAPI acmDriverOpen16(
699 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen
701 MMRESULT16 WINAPI acmDriverClose16(
702 HACMDRIVER16 had, DWORD fdwClose
704 LRESULT WINAPI acmDriverMessage16(
705 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2
707 MMRESULT16 WINAPI acmDriverID16(
708 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID
710 MMRESULT16 WINAPI acmDriverPriority16(
711 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority
713 MMRESULT16 WINAPI acmFormatTagDetails16(
714 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails
716 MMRESULT16 WINAPI acmFormatTagEnum16(
717 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
718 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
720 MMRESULT16 WINAPI acmFormatChoose16(
721 LPACMFORMATCHOOSE16 pafmtc
723 MMRESULT16 WINAPI acmFormatDetails16(
724 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails
726 MMRESULT16 WINAPI acmFormatEnum16(
727 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
728 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
730 MMRESULT16 WINAPI acmFormatSuggest16(
731 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
732 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
734 MMRESULT16 WINAPI acmFilterTagDetails16(
735 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails
737 MMRESULT16 WINAPI acmFilterTagEnum16(
738 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
739 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
741 MMRESULT16 WINAPI acmFilterChoose16(
742 LPACMFILTERCHOOSE16 pafltrc
744 MMRESULT16 WINAPI acmFilterDetails16(
745 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails
747 MMRESULT16 WINAPI acmFilterEnum16(
748 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
749 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
751 MMRESULT16 WINAPI acmStreamOpen16(
752 LPHACMSTREAM16 phas, HACMDRIVER16 had,
753 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
754 LPWAVEFILTER pwfltr, DWORD dwCallback,
755 DWORD dwInstance, DWORD fdwOpen
757 MMRESULT16 WINAPI acmStreamClose16(
758 HACMSTREAM16 has, DWORD fdwClose
760 MMRESULT16 WINAPI acmStreamSize16(
761 HACMSTREAM16 has, DWORD cbInput,
762 LPDWORD pdwOutputBytes, DWORD fdwSize
764 MMRESULT16 WINAPI acmStreamConvert16(
765 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert
767 MMRESULT16 WINAPI acmStreamReset16(
768 HACMSTREAM16 has, DWORD fdwReset
770 MMRESULT16 WINAPI acmStreamPrepareHeader16(
771 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare
773 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
774 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare
777 /***********************************************************************
778 * Functions - Win32
781 MMRESULT WINAPI acmDriverAddA(
782 PHACMDRIVERID phadid, HINSTANCE hinstModule,
783 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
785 MMRESULT WINAPI acmDriverAddW(
786 PHACMDRIVERID phadid, HINSTANCE hinstModule,
787 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
789 MMRESULT WINAPI acmDriverClose(
790 HACMDRIVER had, DWORD fdwClose
792 MMRESULT WINAPI acmDriverDetailsA(
793 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
795 MMRESULT WINAPI acmDriverDetailsW(
796 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
798 MMRESULT WINAPI acmDriverEnum(
799 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
801 MMRESULT WINAPI acmDriverID(
802 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
804 LRESULT WINAPI acmDriverMessage(
805 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
807 MMRESULT WINAPI acmDriverOpen(
808 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
810 MMRESULT WINAPI acmDriverPriority(
811 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
813 MMRESULT WINAPI acmDriverRemove(
814 HACMDRIVERID hadid, DWORD fdwRemove
816 MMRESULT WINAPI acmFilterChooseA(
817 PACMFILTERCHOOSEA pafltrc
819 MMRESULT WINAPI acmFilterChooseW(
820 PACMFILTERCHOOSEW pafltrc
822 MMRESULT WINAPI acmFilterDetailsA(
823 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
825 MMRESULT WINAPI acmFilterDetailsW(
826 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
828 MMRESULT WINAPI acmFilterEnumA(
829 HACMDRIVER had, PACMFILTERDETAILSA pafd,
830 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
832 MMRESULT WINAPI acmFilterEnumW(
833 HACMDRIVER had, PACMFILTERDETAILSW pafd,
834 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
836 MMRESULT WINAPI acmFilterTagDetailsA(
837 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
839 MMRESULT WINAPI acmFilterTagDetailsW(
840 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
842 MMRESULT WINAPI acmFilterTagEnumA(
843 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
844 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
846 MMRESULT WINAPI acmFilterTagEnumW(
847 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
848 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
850 MMRESULT WINAPI acmFormatChooseA(
851 PACMFORMATCHOOSEA pafmtc
853 MMRESULT WINAPI acmFormatChooseW(
854 PACMFORMATCHOOSEW pafmtc
856 MMRESULT WINAPI acmFormatDetailsA(
857 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
859 MMRESULT WINAPI acmFormatDetailsW(
860 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
862 MMRESULT WINAPI acmFormatEnumA(
863 HACMDRIVER had, PACMFORMATDETAILSA pafd,
864 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
866 MMRESULT WINAPI acmFormatEnumW(
867 HACMDRIVER had, PACMFORMATDETAILSW pafd,
868 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
870 MMRESULT WINAPI acmFormatSuggest(
871 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
872 DWORD cbwfxDst, DWORD fdwSuggest
874 MMRESULT WINAPI acmFormatTagDetailsA(
875 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
877 MMRESULT WINAPI acmFormatTagDetailsW(
878 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
880 MMRESULT WINAPI acmFormatTagEnumA(
881 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
882 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
884 MMRESULT WINAPI acmFormatTagEnumW(
885 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
886 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
888 DWORD WINAPI acmGetVersion(
890 MMRESULT WINAPI acmMetrics(
891 HACMOBJ hao, UINT uMetric, LPVOID pMetric
893 MMRESULT WINAPI acmStreamClose(
894 HACMSTREAM has, DWORD fdwClose
896 MMRESULT WINAPI acmStreamConvert(
897 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
899 MMRESULT WINAPI acmStreamMessage(
900 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
902 MMRESULT WINAPI acmStreamOpen(
903 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
904 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
905 DWORD dwInstance, DWORD fdwOpen
907 MMRESULT WINAPI acmStreamPrepareHeader(
908 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
910 MMRESULT WINAPI acmStreamReset(
911 HACMSTREAM has, DWORD fdwReset
913 MMRESULT WINAPI acmStreamSize(
914 HACMSTREAM has, DWORD cbInput,
915 LPDWORD pdwOutputBytes, DWORD fdwSize
917 MMRESULT WINAPI acmStreamUnprepareHeader(
918 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
921 #ifdef __cplusplus
922 } /* extern "C" */
923 #endif /* defined(__cplusplus) */
925 #endif /* __WINE_MSACM_H */