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

Last change on this file since 4632 was 4632, checked in by sandervl, 25 years ago

compile fixes

File size: 26.8 KB
Line 
1/* $Id: msacm.h,v 1.3 2000-11-19 13:09:14 sandervl Exp $ */
2/*
3 * msacm.h - Declarations for MSACM
4 */
5
6#ifndef __WINE_MSACM_H
7#define __WINE_MSACM_H
8
9#include "windef.h"
10////#include "driver.h"
11#include "mmsystem.h"
12#include "mmreg.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif /* defined(__cplusplus) */
17
18/***********************************************************************
19 * Defines/Enums
20 */
21
22#define ACMERR_BASE 512
23#define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
24#define ACMERR_BUSY (ACMERR_BASE + 1)
25#define ACMERR_UNPREPARED (ACMERR_BASE + 2)
26#define ACMERR_CANCELED (ACMERR_BASE + 3)
27
28#define MM_ACM_OPEN MM_STREAM_OPEN
29#define MM_ACM_CLOSE MM_STREAM_CLOSE
30#define MM_ACM_DONE MM_STREAM_DONE
31
32#define ACM_DRIVERADDF_FUNCTION 0x00000003L
33#define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
34#define ACM_DRIVERADDF_TYPEMASK 0x00000007L
35#define ACM_DRIVERADDF_LOCAL 0x00000000L
36#define ACM_DRIVERADDF_GLOBAL 0x00000008L
37
38#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
39#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
40#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
41#define ACMDRIVERDETAILS_LICENSING_CHARS 128
42#define ACMDRIVERDETAILS_FEATURES_CHARS 512
43
44#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
45#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
46
47#define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
48#define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
49#define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
50#define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
51#define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
52#define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
53#define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
54
55#define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
56#define ACM_DRIVERENUMF_DISABLED 0x80000000L
57
58#define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
59#define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
60#define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
61#define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
62#define ACM_DRIVERPRIORITYF_END 0x00020000L
63#define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
64
65#define MM_ACM_FILTERCHOOSE 0x8000
66
67#define FILTERCHOOSE_MESSAGE 0
68#define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
69#define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
70#define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
71
72#define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
73#define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
74#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
75#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
76#define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
77#define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
78
79#define ACMFILTERDETAILS_FILTER_CHARS 128
80
81#define ACM_FILTERDETAILSF_INDEX 0x00000000L
82#define ACM_FILTERDETAILSF_FILTER 0x00000001L
83#define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
84
85#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
86
87#define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
88#define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
89#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
90#define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
91
92#define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
93
94#define ACMHELPMSGSTRINGA "acmchoose_help"
95#define ACMHELPMSGSTRINGW L"acmchoose_help"
96#define ACMHELPMSGSTRING16 "acmchoose_help"
97
98#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
99#define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
100#define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
101
102#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
103#define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
104#define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"
105
106#define MM_ACM_FORMATCHOOSE 0x8000
107
108#define FORMATCHOOSE_MESSAGE 0
109#define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
110#define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
111#define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
112
113#define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
114#define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
115#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
116#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
117#define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
118#define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
119
120#define ACMFORMATDETAILS_FORMAT_CHARS 128
121
122#define ACM_FORMATDETAILSF_INDEX 0x00000000L
123#define ACM_FORMATDETAILSF_FORMAT 0x00000001L
124#define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
125
126#define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
127#define ACM_FORMATENUMF_NCHANNELS 0x00020000L
128#define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
129#define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
130#define ACM_FORMATENUMF_CONVERT 0x00100000L
131#define ACM_FORMATENUMF_SUGGEST 0x00200000L
132#define ACM_FORMATENUMF_HARDWARE 0x00400000L
133#define ACM_FORMATENUMF_INPUT 0x00800000L
134#define ACM_FORMATENUMF_OUTPUT 0x01000000L
135
136#define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
137#define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
138#define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
139#define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
140#define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
141
142#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
143
144#define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
145#define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
146#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
147#define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
148
149#define ACM_METRIC_COUNT_DRIVERS 1
150#define ACM_METRIC_COUNT_CODECS 2
151#define ACM_METRIC_COUNT_CONVERTERS 3
152#define ACM_METRIC_COUNT_FILTERS 4
153#define ACM_METRIC_COUNT_DISABLED 5
154#define ACM_METRIC_COUNT_HARDWARE 6
155#define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
156#define ACM_METRIC_COUNT_LOCAL_CODECS 21
157#define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
158#define ACM_METRIC_COUNT_LOCAL_FILTERS 23
159#define ACM_METRIC_COUNT_LOCAL_DISABLED 24
160#define ACM_METRIC_HARDWARE_WAVE_INPUT 30
161#define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
162#define ACM_METRIC_MAX_SIZE_FORMAT 50
163#define ACM_METRIC_MAX_SIZE_FILTER 51
164#define ACM_METRIC_DRIVER_SUPPORT 100
165#define ACM_METRIC_DRIVER_PRIORITY 101
166
167#define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
168#define ACM_STREAMCONVERTF_START 0x00000010
169#define ACM_STREAMCONVERTF_END 0x00000020
170
171#define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
172#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
173#define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
174
175#define ACM_STREAMOPENF_QUERY 0x00000001
176#define ACM_STREAMOPENF_ASYNC 0x00000002
177#define ACM_STREAMOPENF_NONREALTIME 0x00000004
178
179#define ACM_STREAMSIZEF_SOURCE 0x00000000L
180#define ACM_STREAMSIZEF_DESTINATION 0x00000001L
181#define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
182
183#define ACMDM_USER (DRV_USER + 0x0000)
184#define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
185#define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
186
187#define ACMDM_BASE ACMDM_RESERVED_LOW
188
189#define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
190
191/***********************************************************************
192 * Callbacks
193 */
194
195typedef BOOL (CALLBACK *ACMDRIVERENUMCB)(
196 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
197);
198
199typedef BOOL16 (CALLBACK *ACMDRIVERENUMCB16)(
200 HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
201);
202
203typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)(
204 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
205);
206
207typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)(
208 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
209);
210
211typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROC16)(
212 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
213);
214
215typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)(
216 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
217);
218
219typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)(
220 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
221);
222
223typedef UINT16 (CALLBACK *ACMFORMATCHOOSEHOOKPROC16)(
224 HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
225);
226
227/***********************************************************************
228 * Structures
229 */
230
231typedef struct _ACMDRIVERDETAILSA
232{
233 DWORD cbStruct;
234
235 FOURCC fccType;
236 FOURCC fccComp;
237
238 WORD wMid;
239 WORD wPid;
240
241 DWORD vdwACM;
242 DWORD vdwDriver;
243
244 DWORD fdwSupport;
245 DWORD cFormatTags;
246 DWORD cFilterTags;
247
248 HICON hicon;
249
250 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
251 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
252 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
253 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
254 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
255} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
256
257typedef struct _ACMDRIVERDETAILSW
258{
259 DWORD cbStruct;
260
261 FOURCC fccType;
262 FOURCC fccComp;
263
264 WORD wMid;
265 WORD wPid;
266
267 DWORD vdwACM;
268 DWORD vdwDriver;
269
270 DWORD fdwSupport;
271 DWORD cFormatTags;
272 DWORD cFilterTags;
273
274 HICON hicon;
275
276 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
277 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
278 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
279 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
280 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
281} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
282
283typedef struct _ACMDRIVERDETAILS16
284{
285 DWORD cbStruct;
286
287 FOURCC fccType;
288 FOURCC fccComp;
289
290 WORD wMid;
291 WORD wPid;
292
293 DWORD vdwACM;
294 DWORD vdwDriver;
295
296 DWORD fdwSupport;
297 DWORD cFormatTags;
298 DWORD cFilterTags;
299
300 HICON16 hicon;
301
302 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
303 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
304 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
305 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
306 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
307} ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;
308
309typedef struct _ACMFILTERCHOOSEA
310{
311 DWORD cbStruct;
312 DWORD fdwStyle;
313
314 HWND hwndOwner;
315
316 PWAVEFILTER pwfltr;
317 DWORD cbwfltr;
318
319 LPCSTR pszTitle;
320
321 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
322 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
323 LPSTR pszName;
324 DWORD cchName;
325
326 DWORD fdwEnum;
327 PWAVEFILTER pwfltrEnum;
328
329 HINSTANCE hInstance;
330 LPCSTR pszTemplateName;
331 LPARAM lCustData;
332 ACMFILTERCHOOSEHOOKPROCA pfnHook;
333} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
334
335typedef struct _ACMFILTERCHOOSEW
336{
337 DWORD cbStruct;
338 DWORD fdwStyle;
339
340 HWND hwndOwner;
341
342 PWAVEFILTER pwfltr;
343 DWORD cbwfltr;
344
345 LPCWSTR pszTitle;
346
347 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
348 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
349 LPWSTR pszName;
350 DWORD cchName;
351
352 DWORD fdwEnum;
353 PWAVEFILTER pwfltrEnum;
354
355 HINSTANCE hInstance;
356 LPCWSTR pszTemplateName;
357 LPARAM lCustData;
358 ACMFILTERCHOOSEHOOKPROCW pfnHook;
359} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
360
361typedef struct _ACMFILTERCHOOSE16
362{
363 DWORD cbStruct;
364 DWORD fdwStyle;
365
366 HWND16 hwndOwner;
367
368 LPWAVEFILTER pwfltr;
369 DWORD cbwfltr;
370
371 LPCSTR pszTitle;
372
373 char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
374 char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
375 LPSTR pszName;
376 DWORD cchName;
377
378 DWORD fdwEnum;
379 LPWAVEFILTER pwfltrEnum;
380
381 HINSTANCE16 hInstance;
382 LPCSTR pszTemplateName;
383 LPARAM lCustData;
384 ACMFILTERCHOOSEHOOKPROC16 pfnHook;
385} ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
386
387typedef struct _ACMFILTERDETAILSA
388{
389 DWORD cbStruct;
390 DWORD dwFilterIndex;
391 DWORD dwFilterTag;
392 DWORD fdwSupport;
393 PWAVEFILTER pwfltr;
394 DWORD cbwfltr;
395 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
396} ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
397
398typedef struct _ACMFILTERDETAILSW
399{
400 DWORD cbStruct;
401 DWORD dwFilterIndex;
402 DWORD dwFilterTag;
403 DWORD fdwSupport;
404 PWAVEFILTER pwfltr;
405 DWORD cbwfltr;
406 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
407} ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
408
409typedef struct _ACMFILTERDETAILS16
410{
411 DWORD cbStruct;
412 DWORD dwFilterIndex;
413 DWORD dwFilterTag;
414 DWORD fdwSupport;
415 LPWAVEFILTER pwfltr;
416 DWORD cbwfltr;
417 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
418} ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
419
420typedef struct _ACMFILTERTAGDETAILSA
421{
422 DWORD cbStruct;
423 DWORD dwFilterTagIndex;
424 DWORD dwFilterTag;
425 DWORD cbFilterSize;
426 DWORD fdwSupport;
427 DWORD cStandardFilters;
428 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
429} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
430
431typedef struct _ACMFILTERTAGDETAILSW
432{
433 DWORD cbStruct;
434 DWORD dwFilterTagIndex;
435 DWORD dwFilterTag;
436 DWORD cbFilterSize;
437 DWORD fdwSupport;
438 DWORD cStandardFilters;
439 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
440} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
441
442typedef struct _ACMFILTERTAGDETAILS16
443{
444 DWORD cbStruct;
445 DWORD dwFilterTagIndex;
446 DWORD dwFilterTag;
447 DWORD cbFilterSize;
448 DWORD fdwSupport;
449 DWORD cStandardFilters;
450 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
451} ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;
452
453typedef struct _ACMFORMATCHOOSEA
454{
455 DWORD cbStruct;
456 DWORD fdwStyle;
457
458 HWND hwndOwner;
459
460 PWAVEFORMATEX pwfx;
461 DWORD cbwfx;
462 LPCSTR pszTitle;
463
464 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
465 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
466
467 LPSTR pszName;
468 DWORD cchName;
469
470 DWORD fdwEnum;
471 PWAVEFORMATEX pwfxEnum;
472
473 HINSTANCE hInstance;
474 LPCSTR pszTemplateName;
475 LPARAM lCustData;
476 ACMFORMATCHOOSEHOOKPROCA pfnHook;
477} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
478
479typedef struct _ACMFORMATCHOOSEW
480{
481 DWORD cbStruct;
482 DWORD fdwStyle;
483
484 HWND hwndOwner;
485
486 PWAVEFORMATEX pwfx;
487 DWORD cbwfx;
488 LPCWSTR pszTitle;
489
490 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
491 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
492
493 LPWSTR pszName;
494 DWORD cchName;
495
496 DWORD fdwEnum;
497 LPWAVEFORMATEX pwfxEnum;
498
499 HINSTANCE hInstance;
500 LPCWSTR pszTemplateName;
501 LPARAM lCustData;
502 ACMFORMATCHOOSEHOOKPROCW pfnHook;
503} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
504
505typedef struct _ACMFORMATCHOOSE16
506{
507 DWORD cbStruct;
508 DWORD fdwStyle;
509
510 HWND16 hwndOwner;
511
512 LPWAVEFORMATEX pwfx;
513 DWORD cbwfx;
514 LPCSTR pszTitle;
515
516 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
517 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
518
519 LPSTR pszName;
520 DWORD cchName;
521
522 DWORD fdwEnum;
523 LPWAVEFORMATEX pwfxEnum;
524
525 HINSTANCE16 hInstance;
526 LPCSTR pszTemplateName;
527 LPARAM lCustData;
528 ACMFORMATCHOOSEHOOKPROC16 pfnHook;
529} ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
530
531typedef struct _ACMFORMATDETAILSA
532{
533 DWORD cbStruct;
534 DWORD dwFormatIndex;
535 DWORD dwFormatTag;
536 DWORD fdwSupport;
537 PWAVEFORMATEX pwfx;
538 DWORD cbwfx;
539 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
540} ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
541
542typedef struct _ACMFORMATDETAILSW
543{
544 DWORD cbStruct;
545 DWORD dwFormatIndex;
546 DWORD dwFormatTag;
547 DWORD fdwSupport;
548 PWAVEFORMATEX pwfx;
549 DWORD cbwfx;
550 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
551} ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
552
553typedef struct _ACMFORMATDETAILS16
554{
555 DWORD cbStruct;
556 DWORD dwFormatIndex;
557 DWORD dwFormatTag;
558 DWORD fdwSupport;
559 LPWAVEFORMATEX pwfx;
560 DWORD cbwfx;
561 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
562} ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
563
564typedef struct _ACMFORMATTAGDETAILSA
565{
566 DWORD cbStruct;
567 DWORD dwFormatTagIndex;
568 DWORD dwFormatTag;
569 DWORD cbFormatSize;
570 DWORD fdwSupport;
571 DWORD cStandardFormats;
572 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
573} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
574
575typedef struct _ACMFORMATTAGDETAILSW
576{
577 DWORD cbStruct;
578 DWORD dwFormatTagIndex;
579 DWORD dwFormatTag;
580 DWORD cbFormatSize;
581 DWORD fdwSupport;
582 DWORD cStandardFormats;
583 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
584} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
585
586typedef struct _ACMFORMATTAGDETAILS16
587{
588 DWORD cbStruct;
589 DWORD dwFormatTagIndex;
590 DWORD dwFormatTag;
591 DWORD cbFormatSize;
592 DWORD fdwSupport;
593 DWORD cStandardFormats;
594 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
595} ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
596
597typedef struct _ACMSTREAMHEADER
598{
599 DWORD cbStruct;
600 DWORD fdwStatus;
601 DWORD dwUser;
602 LPBYTE pbSrc;
603 DWORD cbSrcLength;
604 DWORD cbSrcLengthUsed;
605 DWORD dwSrcUser;
606 LPBYTE pbDst;
607 DWORD cbDstLength;
608 DWORD cbDstLengthUsed;
609 DWORD dwDstUser;
610 DWORD dwReservedDriver[10];
611} ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
612 ACMSTREAMHEADER, *PACMSTREAMHEADER;
613
614/***********************************************************************
615 * Callbacks 2
616 */
617
618typedef BOOL (CALLBACK *ACMFILTERENUMCBA)(
619 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
620 DWORD dwInstance, DWORD fdwSupport
621);
622
623typedef BOOL (CALLBACK *ACMFILTERENUMCBW)(
624 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
625 DWORD dwInstance, DWORD fdwSupport
626);
627
628typedef BOOL16 (CALLBACK *ACMFILTERENUMCB16)(
629 HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
630 DWORD dwInstance, DWORD fdwSupport
631);
632
633typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)(
634 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
635 DWORD dwInstance, DWORD fdwSupport
636);
637
638typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)(
639 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
640 DWORD dwInstance, DWORD fdwSupport
641);
642
643typedef BOOL16 (CALLBACK *ACMFILTERTAGENUMCB16)(
644 HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
645 DWORD dwInstance, DWORD fdwSupport
646);
647
648typedef BOOL (CALLBACK *ACMFORMATENUMCBA)(
649 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
650 DWORD dwInstance, DWORD fdwSupport
651);
652
653typedef BOOL (CALLBACK *ACMFORMATENUMCBW)(
654 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
655 DWORD dwInstance, DWORD fdwSupport
656);
657
658typedef BOOL16 (CALLBACK *ACMFORMATENUMCB16)(
659 HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
660 DWORD dwInstance, DWORD fdwSupport
661);
662
663typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)(
664 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
665 DWORD dwInstance, DWORD fdwSupport
666);
667
668typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)(
669 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
670 DWORD dwInstance, DWORD fdwSupport
671);
672
673typedef BOOL16 (CALLBACK *ACMFORMATTAGENUMCB16)(
674 HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
675 DWORD dwInstance, DWORD fdwSupport
676);
677
678/***********************************************************************
679 * Functions - Win16
680 */
681
682DWORD WINAPI acmGetVersion16(
683);
684MMRESULT16 WINAPI acmMetrics16(
685 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric
686);
687MMRESULT16 WINAPI acmDriverEnum16(
688 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
689);
690MMRESULT16 WINAPI acmDriverDetails16(
691 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails
692);
693MMRESULT16 WINAPI acmDriverAdd16(
694 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
695 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
696);
697MMRESULT16 WINAPI acmDriverRemove16(
698 HACMDRIVERID16 hadid, DWORD fdwRemove
699);
700MMRESULT16 WINAPI acmDriverOpen16(
701 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen
702);
703MMRESULT16 WINAPI acmDriverClose16(
704 HACMDRIVER16 had, DWORD fdwClose
705);
706LRESULT WINAPI acmDriverMessage16(
707 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2
708);
709MMRESULT16 WINAPI acmDriverID16(
710 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID
711);
712MMRESULT16 WINAPI acmDriverPriority16(
713 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority
714);
715MMRESULT16 WINAPI acmFormatTagDetails16(
716 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails
717);
718MMRESULT16 WINAPI acmFormatTagEnum16(
719 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
720 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
721);
722MMRESULT16 WINAPI acmFormatChoose16(
723 LPACMFORMATCHOOSE16 pafmtc
724);
725MMRESULT16 WINAPI acmFormatDetails16(
726 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails
727);
728MMRESULT16 WINAPI acmFormatEnum16(
729 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
730 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
731);
732MMRESULT16 WINAPI acmFormatSuggest16(
733 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
734 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
735);
736MMRESULT16 WINAPI acmFilterTagDetails16(
737 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails
738);
739MMRESULT16 WINAPI acmFilterTagEnum16(
740 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
741 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
742);
743MMRESULT16 WINAPI acmFilterChoose16(
744 LPACMFILTERCHOOSE16 pafltrc
745);
746MMRESULT16 WINAPI acmFilterDetails16(
747 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails
748);
749MMRESULT16 WINAPI acmFilterEnum16(
750 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
751 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
752);
753MMRESULT16 WINAPI acmStreamOpen16(
754 LPHACMSTREAM16 phas, HACMDRIVER16 had,
755 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
756 LPWAVEFILTER pwfltr, DWORD dwCallback,
757 DWORD dwInstance, DWORD fdwOpen
758);
759MMRESULT16 WINAPI acmStreamClose16(
760 HACMSTREAM16 has, DWORD fdwClose
761);
762MMRESULT16 WINAPI acmStreamSize16(
763 HACMSTREAM16 has, DWORD cbInput,
764 LPDWORD pdwOutputBytes, DWORD fdwSize
765);
766MMRESULT16 WINAPI acmStreamConvert16(
767 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert
768);
769MMRESULT16 WINAPI acmStreamReset16(
770 HACMSTREAM16 has, DWORD fdwReset
771);
772MMRESULT16 WINAPI acmStreamPrepareHeader16(
773 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare
774);
775MMRESULT16 WINAPI acmStreamUnprepareHeader16(
776 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare
777);
778
779/***********************************************************************
780 * Functions - Win32
781 */
782
783MMRESULT WINAPI acmDriverAddA(
784 PHACMDRIVERID phadid, HINSTANCE hinstModule,
785 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
786);
787MMRESULT WINAPI acmDriverAddW(
788 PHACMDRIVERID phadid, HINSTANCE hinstModule,
789 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
790);
791MMRESULT WINAPI acmDriverClose(
792 HACMDRIVER had, DWORD fdwClose
793);
794MMRESULT WINAPI acmDriverDetailsA(
795 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
796);
797MMRESULT WINAPI acmDriverDetailsW(
798 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
799);
800MMRESULT WINAPI acmDriverEnum(
801 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
802);
803MMRESULT WINAPI acmDriverID(
804 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
805);
806LRESULT WINAPI acmDriverMessage(
807 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
808);
809MMRESULT WINAPI acmDriverOpen(
810 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
811);
812MMRESULT WINAPI acmDriverPriority(
813 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
814);
815MMRESULT WINAPI acmDriverRemove(
816 HACMDRIVERID hadid, DWORD fdwRemove
817);
818MMRESULT WINAPI acmFilterChooseA(
819 PACMFILTERCHOOSEA pafltrc
820);
821MMRESULT WINAPI acmFilterChooseW(
822 PACMFILTERCHOOSEW pafltrc
823);
824MMRESULT WINAPI acmFilterDetailsA(
825 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
826);
827MMRESULT WINAPI acmFilterDetailsW(
828 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
829);
830MMRESULT WINAPI acmFilterEnumA(
831 HACMDRIVER had, PACMFILTERDETAILSA pafd,
832 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
833);
834MMRESULT WINAPI acmFilterEnumW(
835 HACMDRIVER had, PACMFILTERDETAILSW pafd,
836 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
837);
838MMRESULT WINAPI acmFilterTagDetailsA(
839 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
840);
841MMRESULT WINAPI acmFilterTagDetailsW(
842 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
843);
844MMRESULT WINAPI acmFilterTagEnumA(
845 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
846 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
847);
848MMRESULT WINAPI acmFilterTagEnumW(
849 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
850 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
851);
852MMRESULT WINAPI acmFormatChooseA(
853 PACMFORMATCHOOSEA pafmtc
854);
855MMRESULT WINAPI acmFormatChooseW(
856 PACMFORMATCHOOSEW pafmtc
857);
858MMRESULT WINAPI acmFormatDetailsA(
859 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
860);
861MMRESULT WINAPI acmFormatDetailsW(
862 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
863);
864MMRESULT WINAPI acmFormatEnumA(
865 HACMDRIVER had, PACMFORMATDETAILSA pafd,
866 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
867);
868MMRESULT WINAPI acmFormatEnumW(
869 HACMDRIVER had, PACMFORMATDETAILSW pafd,
870 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
871);
872MMRESULT WINAPI acmFormatSuggest(
873 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
874 DWORD cbwfxDst, DWORD fdwSuggest
875);
876MMRESULT WINAPI acmFormatTagDetailsA(
877 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
878);
879MMRESULT WINAPI acmFormatTagDetailsW(
880 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
881);
882MMRESULT WINAPI acmFormatTagEnumA(
883 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
884 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
885);
886MMRESULT WINAPI acmFormatTagEnumW(
887 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
888 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
889);
890DWORD WINAPI acmGetVersion(
891);
892MMRESULT WINAPI acmMetrics(
893 HACMOBJ hao, UINT uMetric, LPVOID pMetric
894);
895MMRESULT WINAPI acmStreamClose(
896 HACMSTREAM has, DWORD fdwClose
897);
898MMRESULT WINAPI acmStreamConvert(
899 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
900);
901MMRESULT WINAPI acmStreamMessage(
902 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
903);
904MMRESULT WINAPI acmStreamOpen(
905 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
906 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
907 DWORD dwInstance, DWORD fdwOpen
908);
909MMRESULT WINAPI acmStreamPrepareHeader(
910 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
911);
912MMRESULT WINAPI acmStreamReset(
913 HACMSTREAM has, DWORD fdwReset
914);
915MMRESULT WINAPI acmStreamSize(
916 HACMSTREAM has, DWORD cbInput,
917 LPDWORD pdwOutputBytes, DWORD fdwSize
918);
919MMRESULT WINAPI acmStreamUnprepareHeader(
920 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
921);
922
923#ifdef __cplusplus
924} /* extern "C" */
925#endif /* defined(__cplusplus) */
926
927#endif /* __WINE_MSACM_H */
928
929
Note: See TracBrowser for help on using the repository browser.