Fixed tmpfile buffer size.
[wine.git] / include / msacm.h
blob3535ef852ccbbd86b435e91b8feab11fca9db50e
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 #define ACMHELPMSGSTRINGW L"acmchoose_help"
95 #define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
97 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
98 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
99 #define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
101 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
102 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
103 #define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
105 #define MM_ACM_FORMATCHOOSE 0x8000
107 #define FORMATCHOOSE_MESSAGE 0
108 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
109 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
110 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
112 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
113 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
114 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
115 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
116 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
117 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
119 #define ACMFORMATDETAILS_FORMAT_CHARS 128
121 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
122 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
123 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
125 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
126 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
127 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
128 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
129 #define ACM_FORMATENUMF_CONVERT 0x00100000L
130 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
131 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
132 #define ACM_FORMATENUMF_INPUT 0x00800000L
133 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
135 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
136 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
137 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
138 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
139 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
141 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
143 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
144 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
145 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
146 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
148 #define ACM_METRIC_COUNT_DRIVERS 1
149 #define ACM_METRIC_COUNT_CODECS 2
150 #define ACM_METRIC_COUNT_CONVERTERS 3
151 #define ACM_METRIC_COUNT_FILTERS 4
152 #define ACM_METRIC_COUNT_DISABLED 5
153 #define ACM_METRIC_COUNT_HARDWARE 6
154 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
155 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
156 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
157 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
158 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
159 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
160 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
161 #define ACM_METRIC_MAX_SIZE_FORMAT 50
162 #define ACM_METRIC_MAX_SIZE_FILTER 51
163 #define ACM_METRIC_DRIVER_SUPPORT 100
164 #define ACM_METRIC_DRIVER_PRIORITY 101
166 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
167 #define ACM_STREAMCONVERTF_START 0x00000010
168 #define ACM_STREAMCONVERTF_END 0x00000020
170 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
171 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
172 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
174 #define ACM_STREAMOPENF_QUERY 0x00000001
175 #define ACM_STREAMOPENF_ASYNC 0x00000002
176 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
178 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
179 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
180 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
182 #define ACMDM_USER (DRV_USER + 0x0000)
183 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
184 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
186 #define ACMDM_BASE ACMDM_RESERVED_LOW
188 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
190 /***********************************************************************
191 * Callbacks
194 typedef BOOL CALLBACK (*ACMDRIVERENUMCB)(
195 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
198 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCA)(
199 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
202 typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCW)(
203 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
205 #define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
207 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCA)(
208 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
211 typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCW)(
212 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
214 #define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
216 /***********************************************************************
217 * Structures
220 typedef struct _ACMDRIVERDETAILSA
222 DWORD cbStruct;
224 FOURCC fccType;
225 FOURCC fccComp;
227 WORD wMid;
228 WORD wPid;
230 DWORD vdwACM;
231 DWORD vdwDriver;
233 DWORD fdwSupport;
234 DWORD cFormatTags;
235 DWORD cFilterTags;
237 HICON hicon;
239 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
240 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
241 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
242 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
243 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
244 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
246 typedef struct _ACMDRIVERDETAILSW
248 DWORD cbStruct;
250 FOURCC fccType;
251 FOURCC fccComp;
253 WORD wMid;
254 WORD wPid;
256 DWORD vdwACM;
257 DWORD vdwDriver;
259 DWORD fdwSupport;
260 DWORD cFormatTags;
261 DWORD cFilterTags;
263 HICON hicon;
265 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
266 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
267 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
268 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
269 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
270 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
272 DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
273 DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
274 DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
276 typedef struct _ACMFILTERCHOOSEA
278 DWORD cbStruct;
279 DWORD fdwStyle;
281 HWND hwndOwner;
283 PWAVEFILTER pwfltr;
284 DWORD cbwfltr;
286 LPCSTR pszTitle;
288 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
289 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
290 LPSTR pszName;
291 DWORD cchName;
293 DWORD fdwEnum;
294 PWAVEFILTER pwfltrEnum;
296 HINSTANCE hInstance;
297 LPCSTR pszTemplateName;
298 LPARAM lCustData;
299 ACMFILTERCHOOSEHOOKPROCA pfnHook;
300 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
302 typedef struct _ACMFILTERCHOOSEW
304 DWORD cbStruct;
305 DWORD fdwStyle;
307 HWND hwndOwner;
309 PWAVEFILTER pwfltr;
310 DWORD cbwfltr;
312 LPCWSTR pszTitle;
314 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
315 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
316 LPWSTR pszName;
317 DWORD cchName;
319 DWORD fdwEnum;
320 PWAVEFILTER pwfltrEnum;
322 HINSTANCE hInstance;
323 LPCWSTR pszTemplateName;
324 LPARAM lCustData;
325 ACMFILTERCHOOSEHOOKPROCW pfnHook;
326 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
328 DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
329 DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
330 DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
332 typedef struct _ACMFILTERDETAILSA
334 DWORD cbStruct;
335 DWORD dwFilterIndex;
336 DWORD dwFilterTag;
337 DWORD fdwSupport;
338 PWAVEFILTER pwfltr;
339 DWORD cbwfltr;
340 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
341 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
343 typedef struct _ACMFILTERDETAILSW
345 DWORD cbStruct;
346 DWORD dwFilterIndex;
347 DWORD dwFilterTag;
348 DWORD fdwSupport;
349 PWAVEFILTER pwfltr;
350 DWORD cbwfltr;
351 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
352 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
354 DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
355 DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
356 DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
358 typedef struct _ACMFILTERTAGDETAILSA
360 DWORD cbStruct;
361 DWORD dwFilterTagIndex;
362 DWORD dwFilterTag;
363 DWORD cbFilterSize;
364 DWORD fdwSupport;
365 DWORD cStandardFilters;
366 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
367 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
369 typedef struct _ACMFILTERTAGDETAILSW
371 DWORD cbStruct;
372 DWORD dwFilterTagIndex;
373 DWORD dwFilterTag;
374 DWORD cbFilterSize;
375 DWORD fdwSupport;
376 DWORD cStandardFilters;
377 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
378 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
380 DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
381 DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
382 DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
384 typedef struct _ACMFORMATCHOOSEA
386 DWORD cbStruct;
387 DWORD fdwStyle;
389 HWND hwndOwner;
391 PWAVEFORMATEX pwfx;
392 DWORD cbwfx;
393 LPCSTR pszTitle;
395 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
396 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
398 LPSTR pszName;
399 DWORD cchName;
401 DWORD fdwEnum;
402 PWAVEFORMATEX pwfxEnum;
404 HINSTANCE hInstance;
405 LPCSTR pszTemplateName;
406 LPARAM lCustData;
407 ACMFORMATCHOOSEHOOKPROCA pfnHook;
408 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
410 typedef struct _ACMFORMATCHOOSEW
412 DWORD cbStruct;
413 DWORD fdwStyle;
415 HWND hwndOwner;
417 PWAVEFORMATEX pwfx;
418 DWORD cbwfx;
419 LPCWSTR pszTitle;
421 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
422 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
424 LPWSTR pszName;
425 DWORD cchName;
427 DWORD fdwEnum;
428 LPWAVEFORMATEX pwfxEnum;
430 HINSTANCE hInstance;
431 LPCWSTR pszTemplateName;
432 LPARAM lCustData;
433 ACMFORMATCHOOSEHOOKPROCW pfnHook;
434 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
436 DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
437 DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
438 DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
440 typedef struct _ACMFORMATDETAILSA
442 DWORD cbStruct;
443 DWORD dwFormatIndex;
444 DWORD dwFormatTag;
445 DWORD fdwSupport;
446 PWAVEFORMATEX pwfx;
447 DWORD cbwfx;
448 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
449 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
451 typedef struct _ACMFORMATDETAILSW
453 DWORD cbStruct;
454 DWORD dwFormatIndex;
455 DWORD dwFormatTag;
456 DWORD fdwSupport;
457 PWAVEFORMATEX pwfx;
458 DWORD cbwfx;
459 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
460 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
462 DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
463 DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
464 DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
466 typedef struct _ACMFORMATTAGDETAILSA
468 DWORD cbStruct;
469 DWORD dwFormatTagIndex;
470 DWORD dwFormatTag;
471 DWORD cbFormatSize;
472 DWORD fdwSupport;
473 DWORD cStandardFormats;
474 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
475 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
477 typedef struct _ACMFORMATTAGDETAILSW
479 DWORD cbStruct;
480 DWORD dwFormatTagIndex;
481 DWORD dwFormatTag;
482 DWORD cbFormatSize;
483 DWORD fdwSupport;
484 DWORD cStandardFormats;
485 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
486 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
488 DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
489 DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
490 DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
492 typedef struct _ACMSTREAMHEADER
494 DWORD cbStruct;
495 DWORD fdwStatus;
496 DWORD dwUser;
497 LPBYTE pbSrc;
498 DWORD cbSrcLength;
499 DWORD cbSrcLengthUsed;
500 DWORD dwSrcUser;
501 LPBYTE pbDst;
502 DWORD cbDstLength;
503 DWORD cbDstLengthUsed;
504 DWORD dwDstUser;
505 DWORD dwReservedDriver[10];
506 } ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
508 /***********************************************************************
509 * Callbacks 2
512 typedef BOOL CALLBACK (*ACMFILTERENUMCBA)(
513 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
514 DWORD dwInstance, DWORD fdwSupport
517 typedef BOOL CALLBACK (*ACMFILTERENUMCBW)(
518 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
519 DWORD dwInstance, DWORD fdwSupport
522 #define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
524 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBA)(
525 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
526 DWORD dwInstance, DWORD fdwSupport
529 typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBW)(
530 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
531 DWORD dwInstance, DWORD fdwSupport
534 #define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
536 typedef BOOL CALLBACK (*ACMFORMATENUMCBA)(
537 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
538 DWORD dwInstance, DWORD fdwSupport
541 typedef BOOL CALLBACK (*ACMFORMATENUMCBW)(
542 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
543 DWORD dwInstance, DWORD fdwSupport
546 #define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
548 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBA)(
549 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
550 DWORD dwInstance, DWORD fdwSupport
553 typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBW)(
554 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
555 DWORD dwInstance, DWORD fdwSupport
558 #define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
560 /***********************************************************************
561 * Functions - Win32
564 MMRESULT WINAPI acmDriverAddA(
565 PHACMDRIVERID phadid, HINSTANCE hinstModule,
566 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
568 MMRESULT WINAPI acmDriverAddW(
569 PHACMDRIVERID phadid, HINSTANCE hinstModule,
570 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
572 #define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
574 MMRESULT WINAPI acmDriverClose(
575 HACMDRIVER had, DWORD fdwClose
577 MMRESULT WINAPI acmDriverDetailsA(
578 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
580 MMRESULT WINAPI acmDriverDetailsW(
581 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
583 #define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
585 MMRESULT WINAPI acmDriverEnum(
586 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
588 MMRESULT WINAPI acmDriverID(
589 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
591 LRESULT WINAPI acmDriverMessage(
592 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
594 MMRESULT WINAPI acmDriverOpen(
595 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
597 MMRESULT WINAPI acmDriverPriority(
598 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
600 MMRESULT WINAPI acmDriverRemove(
601 HACMDRIVERID hadid, DWORD fdwRemove
603 MMRESULT WINAPI acmFilterChooseA(
604 PACMFILTERCHOOSEA pafltrc
606 MMRESULT WINAPI acmFilterChooseW(
607 PACMFILTERCHOOSEW pafltrc
609 #define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
611 MMRESULT WINAPI acmFilterDetailsA(
612 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
614 MMRESULT WINAPI acmFilterDetailsW(
615 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
617 #define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
619 MMRESULT WINAPI acmFilterEnumA(
620 HACMDRIVER had, PACMFILTERDETAILSA pafd,
621 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
623 MMRESULT WINAPI acmFilterEnumW(
624 HACMDRIVER had, PACMFILTERDETAILSW pafd,
625 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
627 #define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
629 MMRESULT WINAPI acmFilterTagDetailsA(
630 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
632 MMRESULT WINAPI acmFilterTagDetailsW(
633 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
635 #define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
637 MMRESULT WINAPI acmFilterTagEnumA(
638 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
639 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
641 MMRESULT WINAPI acmFilterTagEnumW(
642 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
643 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
645 #define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
647 MMRESULT WINAPI acmFormatChooseA(
648 PACMFORMATCHOOSEA pafmtc
650 MMRESULT WINAPI acmFormatChooseW(
651 PACMFORMATCHOOSEW pafmtc
653 #define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
655 MMRESULT WINAPI acmFormatDetailsA(
656 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
658 MMRESULT WINAPI acmFormatDetailsW(
659 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
661 #define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
663 MMRESULT WINAPI acmFormatEnumA(
664 HACMDRIVER had, PACMFORMATDETAILSA pafd,
665 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
667 MMRESULT WINAPI acmFormatEnumW(
668 HACMDRIVER had, PACMFORMATDETAILSW pafd,
669 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
671 #define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
673 MMRESULT WINAPI acmFormatSuggest(
674 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
675 DWORD cbwfxDst, DWORD fdwSuggest
677 MMRESULT WINAPI acmFormatTagDetailsA(
678 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
680 MMRESULT WINAPI acmFormatTagDetailsW(
681 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
683 #define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
685 MMRESULT WINAPI acmFormatTagEnumA(
686 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
687 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
689 MMRESULT WINAPI acmFormatTagEnumW(
690 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
691 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
693 #define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
695 DWORD WINAPI acmGetVersion(void
697 MMRESULT WINAPI acmMetrics(
698 HACMOBJ hao, UINT uMetric, LPVOID pMetric
700 MMRESULT WINAPI acmStreamClose(
701 HACMSTREAM has, DWORD fdwClose
703 MMRESULT WINAPI acmStreamConvert(
704 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
706 MMRESULT WINAPI acmStreamMessage(
707 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
709 MMRESULT WINAPI acmStreamOpen(
710 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
711 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
712 DWORD dwInstance, DWORD fdwOpen
714 MMRESULT WINAPI acmStreamPrepareHeader(
715 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
717 MMRESULT WINAPI acmStreamReset(
718 HACMSTREAM has, DWORD fdwReset
720 MMRESULT WINAPI acmStreamSize(
721 HACMSTREAM has, DWORD cbInput,
722 LPDWORD pdwOutputBytes, DWORD fdwSize
724 MMRESULT WINAPI acmStreamUnprepareHeader(
725 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
728 #ifdef __cplusplus
729 } /* extern "C" */
730 #endif /* defined(__cplusplus) */
732 #endif /* __WINE_MSACM_H */