Rename "SystemTime" to "t" (this is *not* SYSTEMTIME - avoid
[wine/wine-kai.git] / include / msacm.h
blob6de5313b32843d2f58c62bff08d48451a348e855
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 #define ACMAPI WINAPI
18 /***********************************************************************
19 * Defines/Enums
21 #define ACMERR_BASE 512
22 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
23 #define ACMERR_BUSY (ACMERR_BASE + 1)
24 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
25 #define ACMERR_CANCELED (ACMERR_BASE + 3)
27 #define MM_ACM_OPEN MM_STREAM_OPEN
28 #define MM_ACM_CLOSE MM_STREAM_CLOSE
29 #define MM_ACM_DONE MM_STREAM_DONE
31 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
32 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
33 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
34 #define ACM_DRIVERADDF_LOCAL 0x00000000L
35 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
37 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
38 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
39 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
40 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
41 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
43 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
44 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
46 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
47 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
48 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
49 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
50 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
51 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
52 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
54 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
55 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
57 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
58 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
59 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
60 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
61 #define ACM_DRIVERPRIORITYF_END 0x00020000L
62 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
64 #define MM_ACM_FILTERCHOOSE 0x8000
66 #define FILTERCHOOSE_MESSAGE 0
67 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
68 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
69 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
71 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
72 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
73 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
74 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
75 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
76 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
78 #define ACMFILTERDETAILS_FILTER_CHARS 128
80 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
81 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
82 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
84 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
86 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
87 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
88 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
89 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
91 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
93 #define ACMHELPMSGSTRINGA "acmchoose_help"
94 static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m',
95 'c','h','o','o','s','e','_','h','e','l','p',0 };
96 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
98 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
99 static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m',
100 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
101 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
103 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
104 static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m',
105 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
106 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
108 #define MM_ACM_FORMATCHOOSE 0x8000
110 #define FORMATCHOOSE_MESSAGE 0
111 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
112 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
113 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
115 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
116 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
117 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
118 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
119 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
120 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
122 #define ACMFORMATDETAILS_FORMAT_CHARS 128
124 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
125 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
126 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
128 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
129 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
130 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
131 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
132 #define ACM_FORMATENUMF_CONVERT 0x00100000L
133 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
134 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
135 #define ACM_FORMATENUMF_INPUT 0x00800000L
136 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
138 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
139 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
140 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
141 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
142 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
144 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
146 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
147 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
148 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
149 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
151 #define ACM_METRIC_COUNT_DRIVERS 1
152 #define ACM_METRIC_COUNT_CODECS 2
153 #define ACM_METRIC_COUNT_CONVERTERS 3
154 #define ACM_METRIC_COUNT_FILTERS 4
155 #define ACM_METRIC_COUNT_DISABLED 5
156 #define ACM_METRIC_COUNT_HARDWARE 6
157 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
158 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
159 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
160 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
161 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
162 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
163 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
164 #define ACM_METRIC_MAX_SIZE_FORMAT 50
165 #define ACM_METRIC_MAX_SIZE_FILTER 51
166 #define ACM_METRIC_DRIVER_SUPPORT 100
167 #define ACM_METRIC_DRIVER_PRIORITY 101
169 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
170 #define ACM_STREAMCONVERTF_START 0x00000010
171 #define ACM_STREAMCONVERTF_END 0x00000020
173 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
174 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
175 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
177 #define ACM_STREAMOPENF_QUERY 0x00000001
178 #define ACM_STREAMOPENF_ASYNC 0x00000002
179 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
181 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
182 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
183 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
185 #define ACMDM_USER (DRV_USER + 0x0000)
186 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
187 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
189 #define ACMDM_BASE ACMDM_RESERVED_LOW
191 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
193 /* handles */
195 DECLARE_OLD_HANDLE(HACMDRIVERID);
196 DECLARE_OLD_HANDLE(HACMDRIVER);
197 DECLARE_OLD_HANDLE(HACMSTREAM);
198 DECLARE_OLD_HANDLE(HACMOBJ);
200 /***********************************************************************
201 * Callbacks
204 typedef BOOL CALLBACK (*ACMDRIVERENUMCB)(
205 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
208 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCA)(
209 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
212 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCW)(
213 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
215 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
217 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCA)(
218 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
221 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCW)(
222 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
224 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
226 /***********************************************************************
227 * Structures
230 typedef struct _ACMDRIVERDETAILSA
232 DWORD cbStruct;
234 FOURCC fccType;
235 FOURCC fccComp;
237 WORD wMid;
238 WORD wPid;
240 DWORD vdwACM;
241 DWORD vdwDriver;
243 DWORD fdwSupport;
244 DWORD cFormatTags;
245 DWORD cFilterTags;
247 HICON hicon;
249 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
250 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
251 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
252 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
253 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
254 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
256 typedef struct _ACMDRIVERDETAILSW
258 DWORD cbStruct;
260 FOURCC fccType;
261 FOURCC fccComp;
263 WORD wMid;
264 WORD wPid;
266 DWORD vdwACM;
267 DWORD vdwDriver;
269 DWORD fdwSupport;
270 DWORD cFormatTags;
271 DWORD cFilterTags;
273 HICON hicon;
275 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
276 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
277 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
278 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
279 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
280 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
282 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
283 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
284 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
286 typedef struct _ACMFILTERCHOOSEA
288 DWORD cbStruct;
289 DWORD fdwStyle;
291 HWND hwndOwner;
293 PWAVEFILTER pwfltr;
294 DWORD cbwfltr;
296 LPCSTR pszTitle;
298 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
299 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
300 LPSTR pszName;
301 DWORD cchName;
303 DWORD fdwEnum;
304 PWAVEFILTER pwfltrEnum;
306 HINSTANCE hInstance;
307 LPCSTR pszTemplateName;
308 LPARAM lCustData;
309 ACMFILTERCHOOSEHOOKPROCA pfnHook;
310 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
312 typedef struct _ACMFILTERCHOOSEW
314 DWORD cbStruct;
315 DWORD fdwStyle;
317 HWND hwndOwner;
319 PWAVEFILTER pwfltr;
320 DWORD cbwfltr;
322 LPCWSTR pszTitle;
324 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
325 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
326 LPWSTR pszName;
327 DWORD cchName;
329 DWORD fdwEnum;
330 PWAVEFILTER pwfltrEnum;
332 HINSTANCE hInstance;
333 LPCWSTR pszTemplateName;
334 LPARAM lCustData;
335 ACMFILTERCHOOSEHOOKPROCW pfnHook;
336 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
338 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
339 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
340 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
342 typedef struct _ACMFILTERDETAILSA
344 DWORD cbStruct;
345 DWORD dwFilterIndex;
346 DWORD dwFilterTag;
347 DWORD fdwSupport;
348 PWAVEFILTER pwfltr;
349 DWORD cbwfltr;
350 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
351 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
353 typedef struct _ACMFILTERDETAILSW
355 DWORD cbStruct;
356 DWORD dwFilterIndex;
357 DWORD dwFilterTag;
358 DWORD fdwSupport;
359 PWAVEFILTER pwfltr;
360 DWORD cbwfltr;
361 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
362 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
364 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
365 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
366 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
368 typedef struct _ACMFILTERTAGDETAILSA
370 DWORD cbStruct;
371 DWORD dwFilterTagIndex;
372 DWORD dwFilterTag;
373 DWORD cbFilterSize;
374 DWORD fdwSupport;
375 DWORD cStandardFilters;
376 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
377 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
379 typedef struct _ACMFILTERTAGDETAILSW
381 DWORD cbStruct;
382 DWORD dwFilterTagIndex;
383 DWORD dwFilterTag;
384 DWORD cbFilterSize;
385 DWORD fdwSupport;
386 DWORD cStandardFilters;
387 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
388 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
390 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
391 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
392 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
394 typedef struct _ACMFORMATCHOOSEA
396 DWORD cbStruct;
397 DWORD fdwStyle;
399 HWND hwndOwner;
401 PWAVEFORMATEX pwfx;
402 DWORD cbwfx;
403 LPCSTR pszTitle;
405 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
406 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
408 LPSTR pszName;
409 DWORD cchName;
411 DWORD fdwEnum;
412 PWAVEFORMATEX pwfxEnum;
414 HINSTANCE hInstance;
415 LPCSTR pszTemplateName;
416 LPARAM lCustData;
417 ACMFORMATCHOOSEHOOKPROCA pfnHook;
418 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
420 typedef struct _ACMFORMATCHOOSEW
422 DWORD cbStruct;
423 DWORD fdwStyle;
425 HWND hwndOwner;
427 PWAVEFORMATEX pwfx;
428 DWORD cbwfx;
429 LPCWSTR pszTitle;
431 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
432 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
434 LPWSTR pszName;
435 DWORD cchName;
437 DWORD fdwEnum;
438 LPWAVEFORMATEX pwfxEnum;
440 HINSTANCE hInstance;
441 LPCWSTR pszTemplateName;
442 LPARAM lCustData;
443 ACMFORMATCHOOSEHOOKPROCW pfnHook;
444 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
446 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
447 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
448 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
450 typedef struct _ACMFORMATDETAILSA
452 DWORD cbStruct;
453 DWORD dwFormatIndex;
454 DWORD dwFormatTag;
455 DWORD fdwSupport;
456 PWAVEFORMATEX pwfx;
457 DWORD cbwfx;
458 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
459 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
461 typedef struct _ACMFORMATDETAILSW
463 DWORD cbStruct;
464 DWORD dwFormatIndex;
465 DWORD dwFormatTag;
466 DWORD fdwSupport;
467 PWAVEFORMATEX pwfx;
468 DWORD cbwfx;
469 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
470 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
472 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
473 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
474 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
476 typedef struct _ACMFORMATTAGDETAILSA
478 DWORD cbStruct;
479 DWORD dwFormatTagIndex;
480 DWORD dwFormatTag;
481 DWORD cbFormatSize;
482 DWORD fdwSupport;
483 DWORD cStandardFormats;
484 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
485 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
487 typedef struct _ACMFORMATTAGDETAILSW
489 DWORD cbStruct;
490 DWORD dwFormatTagIndex;
491 DWORD dwFormatTag;
492 DWORD cbFormatSize;
493 DWORD fdwSupport;
494 DWORD cStandardFormats;
495 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
496 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
498 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
499 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
500 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
502 typedef struct _ACMSTREAMHEADER
504 DWORD cbStruct;
505 DWORD fdwStatus;
506 DWORD dwUser;
507 LPBYTE pbSrc;
508 DWORD cbSrcLength;
509 DWORD cbSrcLengthUsed;
510 DWORD dwSrcUser;
511 LPBYTE pbDst;
512 DWORD cbDstLength;
513 DWORD cbDstLengthUsed;
514 DWORD dwDstUser;
515 DWORD dwReservedDriver[10];
516 } ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
518 /***********************************************************************
519 * Callbacks 2
522 typedef BOOL CALLBACK (*ACMFILTERENUMCBA)(
523 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
524 DWORD dwInstance, DWORD fdwSupport
527 typedef BOOL CALLBACK (*ACMFILTERENUMCBW)(
528 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
529 DWORD dwInstance, DWORD fdwSupport
532 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
534 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBA)(
535 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
536 DWORD dwInstance, DWORD fdwSupport
539 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBW)(
540 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
541 DWORD dwInstance, DWORD fdwSupport
544 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
546 typedef BOOL CALLBACK (*ACMFORMATENUMCBA)(
547 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
548 DWORD dwInstance, DWORD fdwSupport
551 typedef BOOL CALLBACK (*ACMFORMATENUMCBW)(
552 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
553 DWORD dwInstance, DWORD fdwSupport
556 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
558 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBA)(
559 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
560 DWORD dwInstance, DWORD fdwSupport
563 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBW)(
564 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
565 DWORD dwInstance, DWORD fdwSupport
568 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
570 /***********************************************************************
571 * Functions - Win32
574 MMRESULT WINAPI acmDriverAddA(
575 PHACMDRIVERID phadid, HINSTANCE hinstModule,
576 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
578 MMRESULT WINAPI acmDriverAddW(
579 PHACMDRIVERID phadid, HINSTANCE hinstModule,
580 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
582 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
584 MMRESULT WINAPI acmDriverClose(
585 HACMDRIVER had, DWORD fdwClose
587 MMRESULT WINAPI acmDriverDetailsA(
588 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
590 MMRESULT WINAPI acmDriverDetailsW(
591 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
593 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
595 MMRESULT WINAPI acmDriverEnum(
596 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
598 MMRESULT WINAPI acmDriverID(
599 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
601 LRESULT WINAPI acmDriverMessage(
602 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
604 MMRESULT WINAPI acmDriverOpen(
605 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
607 MMRESULT WINAPI acmDriverPriority(
608 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
610 MMRESULT WINAPI acmDriverRemove(
611 HACMDRIVERID hadid, DWORD fdwRemove
613 MMRESULT WINAPI acmFilterChooseA(
614 PACMFILTERCHOOSEA pafltrc
616 MMRESULT WINAPI acmFilterChooseW(
617 PACMFILTERCHOOSEW pafltrc
619 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
621 MMRESULT WINAPI acmFilterDetailsA(
622 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
624 MMRESULT WINAPI acmFilterDetailsW(
625 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
627 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
629 MMRESULT WINAPI acmFilterEnumA(
630 HACMDRIVER had, PACMFILTERDETAILSA pafd,
631 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
633 MMRESULT WINAPI acmFilterEnumW(
634 HACMDRIVER had, PACMFILTERDETAILSW pafd,
635 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
637 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
639 MMRESULT WINAPI acmFilterTagDetailsA(
640 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
642 MMRESULT WINAPI acmFilterTagDetailsW(
643 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
645 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
647 MMRESULT WINAPI acmFilterTagEnumA(
648 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
649 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
651 MMRESULT WINAPI acmFilterTagEnumW(
652 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
653 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
655 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
657 MMRESULT WINAPI acmFormatChooseA(
658 PACMFORMATCHOOSEA pafmtc
660 MMRESULT WINAPI acmFormatChooseW(
661 PACMFORMATCHOOSEW pafmtc
663 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
665 MMRESULT WINAPI acmFormatDetailsA(
666 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
668 MMRESULT WINAPI acmFormatDetailsW(
669 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
671 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
673 MMRESULT WINAPI acmFormatEnumA(
674 HACMDRIVER had, PACMFORMATDETAILSA pafd,
675 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
677 MMRESULT WINAPI acmFormatEnumW(
678 HACMDRIVER had, PACMFORMATDETAILSW pafd,
679 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
681 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
683 MMRESULT WINAPI acmFormatSuggest(
684 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
685 DWORD cbwfxDst, DWORD fdwSuggest
687 MMRESULT WINAPI acmFormatTagDetailsA(
688 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
690 MMRESULT WINAPI acmFormatTagDetailsW(
691 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
693 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
695 MMRESULT WINAPI acmFormatTagEnumA(
696 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
697 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
699 MMRESULT WINAPI acmFormatTagEnumW(
700 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
701 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
703 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
705 DWORD WINAPI acmGetVersion(void
707 MMRESULT WINAPI acmMetrics(
708 HACMOBJ hao, UINT uMetric, LPVOID pMetric
710 MMRESULT WINAPI acmStreamClose(
711 HACMSTREAM has, DWORD fdwClose
713 MMRESULT WINAPI acmStreamConvert(
714 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
716 MMRESULT WINAPI acmStreamMessage(
717 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
719 MMRESULT WINAPI acmStreamOpen(
720 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
721 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
722 DWORD dwInstance, DWORD fdwOpen
724 MMRESULT WINAPI acmStreamPrepareHeader(
725 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
727 MMRESULT WINAPI acmStreamReset(
728 HACMSTREAM has, DWORD fdwReset
730 MMRESULT WINAPI acmStreamSize(
731 HACMSTREAM has, DWORD cbInput,
732 LPDWORD pdwOutputBytes, DWORD fdwSize
734 MMRESULT WINAPI acmStreamUnprepareHeader(
735 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
738 #ifdef __cplusplus
739 } /* extern "C" */
740 #endif /* defined(__cplusplus) */
742 #endif /* __WINE_MSACM_H */