source: trunk/include/win/msacm.h@ 10367

Last change on this file since 10367 was 5438, checked in by sandervl, 24 years ago

header update

File size: 22.0 KB
Line 
1/*
2 * msacm.h - Declarations for MSACM
3 */
4
5#ifndef __WINE_MSACM_H
6#define __WINE_MSACM_H
7
8#include "windef.h"
9#include "mmsystem.h"
10#include "mmreg.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif /* defined(__cplusplus) */
15
16#define ACMAPI WINAPI
17
18/***********************************************************************
19 * Defines/Enums
20 */
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)
26
27#define MM_ACM_OPEN MM_STREAM_OPEN
28#define MM_ACM_CLOSE MM_STREAM_CLOSE
29#define MM_ACM_DONE MM_STREAM_DONE
30
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
36
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
42
43#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
44#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
45
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
53
54#define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
55#define ACM_DRIVERENUMF_DISABLED 0x80000000L
56
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
63
64#define MM_ACM_FILTERCHOOSE 0x8000
65
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)
70
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
77
78#define ACMFILTERDETAILS_FILTER_CHARS 128
79
80#define ACM_FILTERDETAILSF_INDEX 0x00000000L
81#define ACM_FILTERDETAILSF_FILTER 0x00000001L
82#define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
83
84#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
85
86#define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
87#define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
88#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
89#define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
90
91#define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
92
93#define ACMHELPMSGSTRINGA "acmchoose_help"
94static 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)
97
98#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
99static 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)
102
103#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
104static 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)
107
108#define MM_ACM_FORMATCHOOSE 0x8000
109
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)
114
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
121
122#define ACMFORMATDETAILS_FORMAT_CHARS 128
123
124#define ACM_FORMATDETAILSF_INDEX 0x00000000L
125#define ACM_FORMATDETAILSF_FORMAT 0x00000001L
126#define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
127
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
137
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
143
144#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
145
146#define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
147#define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
148#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
149#define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
150
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
168
169#define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
170#define ACM_STREAMCONVERTF_START 0x00000010
171#define ACM_STREAMCONVERTF_END 0x00000020
172
173#define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
174#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
175#define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
176
177#define ACM_STREAMOPENF_QUERY 0x00000001
178#define ACM_STREAMOPENF_ASYNC 0x00000002
179#define ACM_STREAMOPENF_NONREALTIME 0x00000004
180
181#define ACM_STREAMSIZEF_SOURCE 0x00000000L
182#define ACM_STREAMSIZEF_DESTINATION 0x00000001L
183#define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
184
185#define ACMDM_USER (DRV_USER + 0x0000)
186#define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
187#define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
188
189#define ACMDM_BASE ACMDM_RESERVED_LOW
190
191#define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
192
193/***********************************************************************
194 * Callbacks
195 */
196
197typedef BOOL (* CALLBACK ACMDRIVERENUMCB)(
198 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
199);
200
201typedef UINT (* CALLBACK ACMFILTERCHOOSEHOOKPROCA)(
202 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
203);
204
205typedef UINT (* CALLBACK ACMFILTERCHOOSEHOOKPROCW)(
206 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
207);
208#define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
209
210typedef UINT (* CALLBACK ACMFORMATCHOOSEHOOKPROCA)(
211 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
212);
213
214typedef UINT (* CALLBACK ACMFORMATCHOOSEHOOKPROCW)(
215 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
216);
217#define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
218
219/***********************************************************************
220 * Structures
221 */
222
223typedef struct _ACMDRIVERDETAILSA
224{
225 DWORD cbStruct;
226
227 FOURCC fccType;
228 FOURCC fccComp;
229
230 WORD wMid;
231 WORD wPid;
232
233 DWORD vdwACM;
234 DWORD vdwDriver;
235
236 DWORD fdwSupport;
237 DWORD cFormatTags;
238 DWORD cFilterTags;
239
240 HICON hicon;
241
242 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
243 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
244 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
245 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
246 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
247} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
248
249typedef struct _ACMDRIVERDETAILSW
250{
251 DWORD cbStruct;
252
253 FOURCC fccType;
254 FOURCC fccComp;
255
256 WORD wMid;
257 WORD wPid;
258
259 DWORD vdwACM;
260 DWORD vdwDriver;
261
262 DWORD fdwSupport;
263 DWORD cFormatTags;
264 DWORD cFilterTags;
265
266 HICON hicon;
267
268 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
269 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
270 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
271 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
272 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
273} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
274
275DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
276DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
277DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
278
279typedef struct _ACMFILTERCHOOSEA
280{
281 DWORD cbStruct;
282 DWORD fdwStyle;
283
284 HWND hwndOwner;
285
286 PWAVEFILTER pwfltr;
287 DWORD cbwfltr;
288
289 LPCSTR pszTitle;
290
291 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
292 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
293 LPSTR pszName;
294 DWORD cchName;
295
296 DWORD fdwEnum;
297 PWAVEFILTER pwfltrEnum;
298
299 HINSTANCE hInstance;
300 LPCSTR pszTemplateName;
301 LPARAM lCustData;
302 ACMFILTERCHOOSEHOOKPROCA pfnHook;
303} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
304
305typedef struct _ACMFILTERCHOOSEW
306{
307 DWORD cbStruct;
308 DWORD fdwStyle;
309
310 HWND hwndOwner;
311
312 PWAVEFILTER pwfltr;
313 DWORD cbwfltr;
314
315 LPCWSTR pszTitle;
316
317 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
318 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
319 LPWSTR pszName;
320 DWORD cchName;
321
322 DWORD fdwEnum;
323 PWAVEFILTER pwfltrEnum;
324
325 HINSTANCE hInstance;
326 LPCWSTR pszTemplateName;
327 LPARAM lCustData;
328 ACMFILTERCHOOSEHOOKPROCW pfnHook;
329} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
330
331DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
332DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
333DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
334
335typedef struct _ACMFILTERDETAILSA
336{
337 DWORD cbStruct;
338 DWORD dwFilterIndex;
339 DWORD dwFilterTag;
340 DWORD fdwSupport;
341 PWAVEFILTER pwfltr;
342 DWORD cbwfltr;
343 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
344} ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
345
346typedef struct _ACMFILTERDETAILSW
347{
348 DWORD cbStruct;
349 DWORD dwFilterIndex;
350 DWORD dwFilterTag;
351 DWORD fdwSupport;
352 PWAVEFILTER pwfltr;
353 DWORD cbwfltr;
354 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
355} ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
356
357DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
358DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
359DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
360
361typedef struct _ACMFILTERTAGDETAILSA
362{
363 DWORD cbStruct;
364 DWORD dwFilterTagIndex;
365 DWORD dwFilterTag;
366 DWORD cbFilterSize;
367 DWORD fdwSupport;
368 DWORD cStandardFilters;
369 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
370} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
371
372typedef struct _ACMFILTERTAGDETAILSW
373{
374 DWORD cbStruct;
375 DWORD dwFilterTagIndex;
376 DWORD dwFilterTag;
377 DWORD cbFilterSize;
378 DWORD fdwSupport;
379 DWORD cStandardFilters;
380 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
381} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
382
383DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
384DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
385DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
386
387typedef struct _ACMFORMATCHOOSEA
388{
389 DWORD cbStruct;
390 DWORD fdwStyle;
391
392 HWND hwndOwner;
393
394 PWAVEFORMATEX pwfx;
395 DWORD cbwfx;
396 LPCSTR pszTitle;
397
398 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
399 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
400
401 LPSTR pszName;
402 DWORD cchName;
403
404 DWORD fdwEnum;
405 PWAVEFORMATEX pwfxEnum;
406
407 HINSTANCE hInstance;
408 LPCSTR pszTemplateName;
409 LPARAM lCustData;
410 ACMFORMATCHOOSEHOOKPROCA pfnHook;
411} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
412
413typedef struct _ACMFORMATCHOOSEW
414{
415 DWORD cbStruct;
416 DWORD fdwStyle;
417
418 HWND hwndOwner;
419
420 PWAVEFORMATEX pwfx;
421 DWORD cbwfx;
422 LPCWSTR pszTitle;
423
424 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
425 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
426
427 LPWSTR pszName;
428 DWORD cchName;
429
430 DWORD fdwEnum;
431 LPWAVEFORMATEX pwfxEnum;
432
433 HINSTANCE hInstance;
434 LPCWSTR pszTemplateName;
435 LPARAM lCustData;
436 ACMFORMATCHOOSEHOOKPROCW pfnHook;
437} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
438
439DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
440DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
441DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
442
443typedef struct _ACMFORMATDETAILSA
444{
445 DWORD cbStruct;
446 DWORD dwFormatIndex;
447 DWORD dwFormatTag;
448 DWORD fdwSupport;
449 PWAVEFORMATEX pwfx;
450 DWORD cbwfx;
451 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
452} ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
453
454typedef struct _ACMFORMATDETAILSW
455{
456 DWORD cbStruct;
457 DWORD dwFormatIndex;
458 DWORD dwFormatTag;
459 DWORD fdwSupport;
460 PWAVEFORMATEX pwfx;
461 DWORD cbwfx;
462 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
463} ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
464
465DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
466DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
467DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
468
469typedef struct _ACMFORMATTAGDETAILSA
470{
471 DWORD cbStruct;
472 DWORD dwFormatTagIndex;
473 DWORD dwFormatTag;
474 DWORD cbFormatSize;
475 DWORD fdwSupport;
476 DWORD cStandardFormats;
477 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
478} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
479
480typedef struct _ACMFORMATTAGDETAILSW
481{
482 DWORD cbStruct;
483 DWORD dwFormatTagIndex;
484 DWORD dwFormatTag;
485 DWORD cbFormatSize;
486 DWORD fdwSupport;
487 DWORD cStandardFormats;
488 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
489} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
490
491DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
492DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
493DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
494
495typedef struct _ACMSTREAMHEADER
496{
497 DWORD cbStruct;
498 DWORD fdwStatus;
499 DWORD dwUser;
500 LPBYTE pbSrc;
501 DWORD cbSrcLength;
502 DWORD cbSrcLengthUsed;
503 DWORD dwSrcUser;
504 LPBYTE pbDst;
505 DWORD cbDstLength;
506 DWORD cbDstLengthUsed;
507 DWORD dwDstUser;
508 DWORD dwReservedDriver[10];
509} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
510
511/***********************************************************************
512 * Callbacks 2
513 */
514
515typedef BOOL (* CALLBACK ACMFILTERENUMCBA)(
516 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
517 DWORD dwInstance, DWORD fdwSupport
518);
519
520typedef BOOL (* CALLBACK ACMFILTERENUMCBW)(
521 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
522 DWORD dwInstance, DWORD fdwSupport
523);
524
525#define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
526
527typedef BOOL (* CALLBACK ACMFILTERTAGENUMCBA)(
528 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
529 DWORD dwInstance, DWORD fdwSupport
530);
531
532typedef BOOL (* CALLBACK ACMFILTERTAGENUMCBW)(
533 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
534 DWORD dwInstance, DWORD fdwSupport
535);
536
537#define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
538
539typedef BOOL (* CALLBACK ACMFORMATENUMCBA)(
540 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
541 DWORD dwInstance, DWORD fdwSupport
542);
543
544typedef BOOL (* CALLBACK ACMFORMATENUMCBW)(
545 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
546 DWORD dwInstance, DWORD fdwSupport
547);
548
549#define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
550
551typedef BOOL (* CALLBACK ACMFORMATTAGENUMCBA)(
552 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
553 DWORD dwInstance, DWORD fdwSupport
554);
555
556typedef BOOL (* CALLBACK ACMFORMATTAGENUMCBW)(
557 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
558 DWORD dwInstance, DWORD fdwSupport
559);
560
561#define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
562
563/***********************************************************************
564 * Functions - Win32
565 */
566
567MMRESULT WINAPI acmDriverAddA(
568 PHACMDRIVERID phadid, HINSTANCE hinstModule,
569 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
570);
571MMRESULT WINAPI acmDriverAddW(
572 PHACMDRIVERID phadid, HINSTANCE hinstModule,
573 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
574);
575#define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
576
577MMRESULT WINAPI acmDriverClose(
578 HACMDRIVER had, DWORD fdwClose
579);
580MMRESULT WINAPI acmDriverDetailsA(
581 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
582);
583MMRESULT WINAPI acmDriverDetailsW(
584 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
585);
586#define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
587
588MMRESULT WINAPI acmDriverEnum(
589 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
590);
591MMRESULT WINAPI acmDriverID(
592 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
593);
594LRESULT WINAPI acmDriverMessage(
595 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
596);
597MMRESULT WINAPI acmDriverOpen(
598 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
599);
600MMRESULT WINAPI acmDriverPriority(
601 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
602);
603MMRESULT WINAPI acmDriverRemove(
604 HACMDRIVERID hadid, DWORD fdwRemove
605);
606MMRESULT WINAPI acmFilterChooseA(
607 PACMFILTERCHOOSEA pafltrc
608);
609MMRESULT WINAPI acmFilterChooseW(
610 PACMFILTERCHOOSEW pafltrc
611);
612#define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
613
614MMRESULT WINAPI acmFilterDetailsA(
615 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
616);
617MMRESULT WINAPI acmFilterDetailsW(
618 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
619);
620#define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
621
622MMRESULT WINAPI acmFilterEnumA(
623 HACMDRIVER had, PACMFILTERDETAILSA pafd,
624 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
625);
626MMRESULT WINAPI acmFilterEnumW(
627 HACMDRIVER had, PACMFILTERDETAILSW pafd,
628 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
629);
630#define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
631
632MMRESULT WINAPI acmFilterTagDetailsA(
633 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
634);
635MMRESULT WINAPI acmFilterTagDetailsW(
636 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
637);
638#define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
639
640MMRESULT WINAPI acmFilterTagEnumA(
641 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
642 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
643);
644MMRESULT WINAPI acmFilterTagEnumW(
645 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
646 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
647);
648#define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
649
650MMRESULT WINAPI acmFormatChooseA(
651 PACMFORMATCHOOSEA pafmtc
652);
653MMRESULT WINAPI acmFormatChooseW(
654 PACMFORMATCHOOSEW pafmtc
655);
656#define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
657
658MMRESULT WINAPI acmFormatDetailsA(
659 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
660);
661MMRESULT WINAPI acmFormatDetailsW(
662 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
663);
664#define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
665
666MMRESULT WINAPI acmFormatEnumA(
667 HACMDRIVER had, PACMFORMATDETAILSA pafd,
668 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
669);
670MMRESULT WINAPI acmFormatEnumW(
671 HACMDRIVER had, PACMFORMATDETAILSW pafd,
672 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
673);
674#define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
675
676MMRESULT WINAPI acmFormatSuggest(
677 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
678 DWORD cbwfxDst, DWORD fdwSuggest
679);
680MMRESULT WINAPI acmFormatTagDetailsA(
681 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
682);
683MMRESULT WINAPI acmFormatTagDetailsW(
684 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
685);
686#define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
687
688MMRESULT WINAPI acmFormatTagEnumA(
689 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
690 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
691);
692MMRESULT WINAPI acmFormatTagEnumW(
693 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
694 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
695);
696#define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
697
698DWORD WINAPI acmGetVersion(void
699);
700MMRESULT WINAPI acmMetrics(
701 HACMOBJ hao, UINT uMetric, LPVOID pMetric
702);
703MMRESULT WINAPI acmStreamClose(
704 HACMSTREAM has, DWORD fdwClose
705);
706MMRESULT WINAPI acmStreamConvert(
707 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
708);
709MMRESULT WINAPI acmStreamMessage(
710 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
711);
712MMRESULT WINAPI acmStreamOpen(
713 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
714 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
715 DWORD dwInstance, DWORD fdwOpen
716);
717MMRESULT WINAPI acmStreamPrepareHeader(
718 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
719);
720MMRESULT WINAPI acmStreamReset(
721 HACMSTREAM has, DWORD fdwReset
722);
723MMRESULT WINAPI acmStreamSize(
724 HACMSTREAM has, DWORD cbInput,
725 LPDWORD pdwOutputBytes, DWORD fdwSize
726);
727MMRESULT WINAPI acmStreamUnprepareHeader(
728 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
729);
730
731#ifdef __cplusplus
732} /* extern "C" */
733#endif /* defined(__cplusplus) */
734
735#endif /* __WINE_MSACM_H */
736
737
Note: See TracBrowser for help on using the repository browser.