VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/msacm.h@ 30705

Last change on this file since 30705 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • Property svn:eol-style set to native
File size: 24.5 KB
Line 
1/*
2 * Declarations for MSACM
3 *
4 * Copyright (C) the Wine project
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21/*
22 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30#ifndef __WINE_MSACM_H
31#define __WINE_MSACM_H
32
33#ifdef __cplusplus
34extern "C" {
35#endif /* defined(__cplusplus) */
36
37#include <pshpack1.h>
38
39#define ACMAPI WINAPI
40
41/***********************************************************************
42 * Defines/Enums
43 */
44#define ACMERR_BASE 512
45#define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
46#define ACMERR_BUSY (ACMERR_BASE + 1)
47#define ACMERR_UNPREPARED (ACMERR_BASE + 2)
48#define ACMERR_CANCELED (ACMERR_BASE + 3)
49
50#define MM_ACM_OPEN MM_STREAM_OPEN
51#define MM_ACM_CLOSE MM_STREAM_CLOSE
52#define MM_ACM_DONE MM_STREAM_DONE
53
54#define ACM_DRIVERADDF_NAME 0x00000001L
55#define ACM_DRIVERADDF_FUNCTION 0x00000003L
56#define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
57#define ACM_DRIVERADDF_TYPEMASK 0x00000007L
58#define ACM_DRIVERADDF_LOCAL 0x00000000L
59#define ACM_DRIVERADDF_GLOBAL 0x00000008L
60
61#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
62#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
63#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
64#define ACMDRIVERDETAILS_LICENSING_CHARS 128
65#define ACMDRIVERDETAILS_FEATURES_CHARS 512
66
67#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
68#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
69
70#define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
71#define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
72#define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
73#define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
74#define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
75#define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
76#define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
77
78#define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
79#define ACM_DRIVERENUMF_DISABLED 0x80000000L
80
81#define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
82#define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
83#define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
84#define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
85#define ACM_DRIVERPRIORITYF_END 0x00020000L
86#define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
87
88#define MM_ACM_FILTERCHOOSE 0x8000
89
90#define FILTERCHOOSE_MESSAGE 0
91#define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
92#define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
93#define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
94
95#define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
96#define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
97#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
98#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
99#define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
100#define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
101
102#define ACMFILTERDETAILS_FILTER_CHARS 128
103
104#define ACM_FILTERDETAILSF_INDEX 0x00000000L
105#define ACM_FILTERDETAILSF_FILTER 0x00000001L
106#define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
107
108#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
109
110#define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
111#define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
112#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
113#define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
114
115#define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
116
117#define ACMHELPMSGSTRINGA "acmchoose_help"
118#if defined(__GNUC__)
119# define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \
120 'c','h','o','o','s','e','_','h','e','l','p',0 }
121#elif defined(_MSC_VER)
122# define ACMHELPMSGSTRINGW L"acmchoose_help"
123#else
124static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m',
125 'c','h','o','o','s','e','_','h','e','l','p',0 };
126#endif
127#define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
128
129#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
130#if defined(__GNUC__)
131# define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \
132 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }
133#elif defined(_MSC_VER)
134# define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
135#else
136static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m',
137 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
138#endif
139#define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
140
141#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
142#if defined(__GNUC__)
143# define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \
144 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }
145#elif defined(_MSC_VER)
146# define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
147#else
148static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m',
149 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
150#endif
151#define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
152
153#define MM_ACM_FORMATCHOOSE 0x8000
154
155#define FORMATCHOOSE_MESSAGE 0
156#define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
157#define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
158#define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
159
160#define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
161#define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
162#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
163#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
164#define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
165#define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
166
167#define ACMFORMATDETAILS_FORMAT_CHARS 128
168
169#define ACM_FORMATDETAILSF_INDEX 0x00000000L
170#define ACM_FORMATDETAILSF_FORMAT 0x00000001L
171#define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
172
173#define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
174#define ACM_FORMATENUMF_NCHANNELS 0x00020000L
175#define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
176#define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
177#define ACM_FORMATENUMF_CONVERT 0x00100000L
178#define ACM_FORMATENUMF_SUGGEST 0x00200000L
179#define ACM_FORMATENUMF_HARDWARE 0x00400000L
180#define ACM_FORMATENUMF_INPUT 0x00800000L
181#define ACM_FORMATENUMF_OUTPUT 0x01000000L
182
183#define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
184#define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
185#define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
186#define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
187#define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
188
189#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
190
191#define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
192#define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
193#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
194#define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
195
196#define ACM_METRIC_COUNT_DRIVERS 1
197#define ACM_METRIC_COUNT_CODECS 2
198#define ACM_METRIC_COUNT_CONVERTERS 3
199#define ACM_METRIC_COUNT_FILTERS 4
200#define ACM_METRIC_COUNT_DISABLED 5
201#define ACM_METRIC_COUNT_HARDWARE 6
202#define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
203#define ACM_METRIC_COUNT_LOCAL_CODECS 21
204#define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
205#define ACM_METRIC_COUNT_LOCAL_FILTERS 23
206#define ACM_METRIC_COUNT_LOCAL_DISABLED 24
207#define ACM_METRIC_HARDWARE_WAVE_INPUT 30
208#define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
209#define ACM_METRIC_MAX_SIZE_FORMAT 50
210#define ACM_METRIC_MAX_SIZE_FILTER 51
211#define ACM_METRIC_DRIVER_SUPPORT 100
212#define ACM_METRIC_DRIVER_PRIORITY 101
213
214#define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
215#define ACM_STREAMCONVERTF_START 0x00000010
216#define ACM_STREAMCONVERTF_END 0x00000020
217
218#define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
219#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
220#define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
221
222#define ACM_STREAMOPENF_QUERY 0x00000001
223#define ACM_STREAMOPENF_ASYNC 0x00000002
224#define ACM_STREAMOPENF_NONREALTIME 0x00000004
225
226#define ACM_STREAMSIZEF_SOURCE 0x00000000L
227#define ACM_STREAMSIZEF_DESTINATION 0x00000001L
228#define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
229
230#define ACMDM_USER (DRV_USER + 0x0000)
231#define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
232#define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
233
234#define ACMDM_BASE ACMDM_RESERVED_LOW
235
236#define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
237
238/* handles */
239
240DECLARE_HANDLE(HACMDRIVERID);
241DECLARE_HANDLE(HACMDRIVER);
242DECLARE_HANDLE(HACMSTREAM);
243DECLARE_HANDLE(HACMOBJ);
244typedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID;
245typedef HACMDRIVER *PHACMDRIVER, *LPHACMDRIVER;
246typedef HACMSTREAM *PHACMSTREAM, *LPHACMSTREAM;
247typedef HACMOBJ *PHACMOBJ, *LPHACMOBJ;
248
249/***********************************************************************
250 * Callbacks
251 */
252
253typedef BOOL (CALLBACK *ACMDRIVERENUMCB)(
254 HACMDRIVERID hadid, DWORD_PTR dwInstance, DWORD fdwSupport
255);
256
257typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)(
258 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
259);
260
261typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)(
262 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
263);
264#define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
265
266typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)(
267 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
268);
269
270typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)(
271 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
272);
273#define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
274
275/***********************************************************************
276 * Structures
277 */
278
279typedef struct _ACMDRIVERDETAILSA
280{
281 DWORD cbStruct;
282
283 FOURCC fccType;
284 FOURCC fccComp;
285
286 WORD wMid;
287 WORD wPid;
288
289 DWORD vdwACM;
290 DWORD vdwDriver;
291
292 DWORD fdwSupport;
293 DWORD cFormatTags;
294 DWORD cFilterTags;
295
296 HICON hicon;
297
298 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
299 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
300 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
301 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
302 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
303} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
304
305typedef struct _ACMDRIVERDETAILSW
306{
307 DWORD cbStruct;
308
309 FOURCC fccType;
310 FOURCC fccComp;
311
312 WORD wMid;
313 WORD wPid;
314
315 DWORD vdwACM;
316 DWORD vdwDriver;
317
318 DWORD fdwSupport;
319 DWORD cFormatTags;
320 DWORD cFilterTags;
321
322 HICON hicon;
323
324 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
325 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
326 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
327 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
328 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
329} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
330
331DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
332DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
333DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
334
335typedef struct _ACMFILTERCHOOSEA
336{
337 DWORD cbStruct;
338 DWORD fdwStyle;
339
340 HWND hwndOwner;
341
342 PWAVEFILTER pwfltr;
343 DWORD cbwfltr;
344
345 LPCSTR pszTitle;
346
347 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
348 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
349 LPSTR pszName;
350 DWORD cchName;
351
352 DWORD fdwEnum;
353 PWAVEFILTER pwfltrEnum;
354
355 HINSTANCE hInstance;
356 LPCSTR pszTemplateName;
357 LPARAM lCustData;
358 ACMFILTERCHOOSEHOOKPROCA pfnHook;
359} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
360
361typedef struct _ACMFILTERCHOOSEW
362{
363 DWORD cbStruct;
364 DWORD fdwStyle;
365
366 HWND hwndOwner;
367
368 PWAVEFILTER pwfltr;
369 DWORD cbwfltr;
370
371 LPCWSTR pszTitle;
372
373 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
374 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
375 LPWSTR pszName;
376 DWORD cchName;
377
378 DWORD fdwEnum;
379 PWAVEFILTER pwfltrEnum;
380
381 HINSTANCE hInstance;
382 LPCWSTR pszTemplateName;
383 LPARAM lCustData;
384 ACMFILTERCHOOSEHOOKPROCW pfnHook;
385} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
386
387DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
388DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
389DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
390
391typedef struct _ACMFILTERDETAILSA
392{
393 DWORD cbStruct;
394 DWORD dwFilterIndex;
395 DWORD dwFilterTag;
396 DWORD fdwSupport;
397 PWAVEFILTER pwfltr;
398 DWORD cbwfltr;
399 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
400} ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
401
402typedef struct _ACMFILTERDETAILSW
403{
404 DWORD cbStruct;
405 DWORD dwFilterIndex;
406 DWORD dwFilterTag;
407 DWORD fdwSupport;
408 PWAVEFILTER pwfltr;
409 DWORD cbwfltr;
410 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
411} ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
412
413DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
414DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
415DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
416
417typedef struct _ACMFILTERTAGDETAILSA
418{
419 DWORD cbStruct;
420 DWORD dwFilterTagIndex;
421 DWORD dwFilterTag;
422 DWORD cbFilterSize;
423 DWORD fdwSupport;
424 DWORD cStandardFilters;
425 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
426} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
427
428typedef struct _ACMFILTERTAGDETAILSW
429{
430 DWORD cbStruct;
431 DWORD dwFilterTagIndex;
432 DWORD dwFilterTag;
433 DWORD cbFilterSize;
434 DWORD fdwSupport;
435 DWORD cStandardFilters;
436 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
437} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
438
439DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
440DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
441DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
442
443typedef struct _ACMFORMATCHOOSEA
444{
445 DWORD cbStruct;
446 DWORD fdwStyle;
447
448 HWND hwndOwner;
449
450 PWAVEFORMATEX pwfx;
451 DWORD cbwfx;
452 LPCSTR pszTitle;
453
454 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
455 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
456
457 LPSTR pszName;
458 DWORD cchName;
459
460 DWORD fdwEnum;
461 PWAVEFORMATEX pwfxEnum;
462
463 HINSTANCE hInstance;
464 LPCSTR pszTemplateName;
465 LPARAM lCustData;
466 ACMFORMATCHOOSEHOOKPROCA pfnHook;
467} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
468
469typedef struct _ACMFORMATCHOOSEW
470{
471 DWORD cbStruct;
472 DWORD fdwStyle;
473
474 HWND hwndOwner;
475
476 PWAVEFORMATEX pwfx;
477 DWORD cbwfx;
478 LPCWSTR pszTitle;
479
480 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
481 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
482
483 LPWSTR pszName;
484 DWORD cchName;
485
486 DWORD fdwEnum;
487 LPWAVEFORMATEX pwfxEnum;
488
489 HINSTANCE hInstance;
490 LPCWSTR pszTemplateName;
491 LPARAM lCustData;
492 ACMFORMATCHOOSEHOOKPROCW pfnHook;
493} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
494
495DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
496DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
497DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
498
499typedef struct _ACMFORMATDETAILSA
500{
501 DWORD cbStruct;
502 DWORD dwFormatIndex;
503 DWORD dwFormatTag;
504 DWORD fdwSupport;
505 PWAVEFORMATEX pwfx;
506 DWORD cbwfx;
507 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
508} ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
509
510typedef struct _ACMFORMATDETAILSW
511{
512 DWORD cbStruct;
513 DWORD dwFormatIndex;
514 DWORD dwFormatTag;
515 DWORD fdwSupport;
516 PWAVEFORMATEX pwfx;
517 DWORD cbwfx;
518 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
519} ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
520
521DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
522DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
523DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
524
525typedef struct _ACMFORMATTAGDETAILSA
526{
527 DWORD cbStruct;
528 DWORD dwFormatTagIndex;
529 DWORD dwFormatTag;
530 DWORD cbFormatSize;
531 DWORD fdwSupport;
532 DWORD cStandardFormats;
533 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
534} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
535
536typedef struct _ACMFORMATTAGDETAILSW
537{
538 DWORD cbStruct;
539 DWORD dwFormatTagIndex;
540 DWORD dwFormatTag;
541 DWORD cbFormatSize;
542 DWORD fdwSupport;
543 DWORD cStandardFormats;
544 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
545} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
546
547DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
548DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
549DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
550
551#ifdef _WIN64
552# define _ACMSTREAMHEADERRESERVE 15
553#else
554# define _ACMSTREAMHEADERRESERVE 10
555#endif
556
557typedef struct _ACMSTREAMHEADER
558{
559 DWORD cbStruct;
560 DWORD fdwStatus;
561 DWORD_PTR dwUser;
562 LPBYTE pbSrc;
563 DWORD cbSrcLength;
564 DWORD cbSrcLengthUsed;
565 DWORD_PTR dwSrcUser;
566 LPBYTE pbDst;
567 DWORD cbDstLength;
568 DWORD cbDstLengthUsed;
569 DWORD_PTR dwDstUser;
570 DWORD dwReservedDriver[_ACMSTREAMHEADERRESERVE];
571} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
572
573#undef _ACMSTREAMHEADERRESERVE
574
575/***********************************************************************
576 * Callbacks 2
577 */
578
579typedef BOOL (CALLBACK *ACMFILTERENUMCBA)(
580 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
581 DWORD_PTR dwInstance, DWORD fdwSupport
582);
583
584typedef BOOL (CALLBACK *ACMFILTERENUMCBW)(
585 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
586 DWORD_PTR dwInstance, DWORD fdwSupport
587);
588
589#define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
590
591typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)(
592 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
593 DWORD_PTR dwInstance, DWORD fdwSupport
594);
595
596typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)(
597 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
598 DWORD_PTR dwInstance, DWORD fdwSupport
599);
600
601#define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
602
603typedef BOOL (CALLBACK *ACMFORMATENUMCBA)(
604 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
605 DWORD_PTR dwInstance, DWORD fdwSupport
606);
607
608typedef BOOL (CALLBACK *ACMFORMATENUMCBW)(
609 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
610 DWORD_PTR dwInstance, DWORD fdwSupport
611);
612
613#define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
614
615typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)(
616 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
617 DWORD_PTR dwInstance, DWORD fdwSupport
618);
619
620typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)(
621 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
622 DWORD_PTR dwInstance, DWORD fdwSupport
623);
624
625#define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
626
627/***********************************************************************
628 * Functions - Win32
629 */
630
631MMRESULT WINAPI acmDriverAddA(
632 PHACMDRIVERID phadid, HINSTANCE hinstModule,
633 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
634);
635MMRESULT WINAPI acmDriverAddW(
636 PHACMDRIVERID phadid, HINSTANCE hinstModule,
637 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
638);
639#define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
640
641MMRESULT WINAPI acmDriverClose(
642 HACMDRIVER had, DWORD fdwClose
643);
644MMRESULT WINAPI acmDriverDetailsA(
645 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
646);
647MMRESULT WINAPI acmDriverDetailsW(
648 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
649);
650#define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
651
652MMRESULT WINAPI acmDriverEnum(
653 ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
654);
655MMRESULT WINAPI acmDriverID(
656 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
657);
658LRESULT WINAPI acmDriverMessage(
659 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
660);
661MMRESULT WINAPI acmDriverOpen(
662 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
663);
664MMRESULT WINAPI acmDriverPriority(
665 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
666);
667MMRESULT WINAPI acmDriverRemove(
668 HACMDRIVERID hadid, DWORD fdwRemove
669);
670MMRESULT WINAPI acmFilterChooseA(
671 PACMFILTERCHOOSEA pafltrc
672);
673MMRESULT WINAPI acmFilterChooseW(
674 PACMFILTERCHOOSEW pafltrc
675);
676#define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
677
678MMRESULT WINAPI acmFilterDetailsA(
679 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
680);
681MMRESULT WINAPI acmFilterDetailsW(
682 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
683);
684#define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
685
686MMRESULT WINAPI acmFilterEnumA(
687 HACMDRIVER had, PACMFILTERDETAILSA pafd,
688 ACMFILTERENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
689);
690MMRESULT WINAPI acmFilterEnumW(
691 HACMDRIVER had, PACMFILTERDETAILSW pafd,
692 ACMFILTERENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
693);
694#define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
695
696MMRESULT WINAPI acmFilterTagDetailsA(
697 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
698);
699MMRESULT WINAPI acmFilterTagDetailsW(
700 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
701);
702#define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
703
704MMRESULT WINAPI acmFilterTagEnumA(
705 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
706 ACMFILTERTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
707);
708MMRESULT WINAPI acmFilterTagEnumW(
709 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
710 ACMFILTERTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
711);
712#define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
713
714MMRESULT WINAPI acmFormatChooseA(
715 PACMFORMATCHOOSEA pafmtc
716);
717MMRESULT WINAPI acmFormatChooseW(
718 PACMFORMATCHOOSEW pafmtc
719);
720#define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
721
722MMRESULT WINAPI acmFormatDetailsA(
723 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
724);
725MMRESULT WINAPI acmFormatDetailsW(
726 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
727);
728#define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
729
730MMRESULT WINAPI acmFormatEnumA(
731 HACMDRIVER had, PACMFORMATDETAILSA pafd,
732 ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
733);
734MMRESULT WINAPI acmFormatEnumW(
735 HACMDRIVER had, PACMFORMATDETAILSW pafd,
736 ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
737);
738#define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
739
740MMRESULT WINAPI acmFormatSuggest(
741 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
742 DWORD cbwfxDst, DWORD fdwSuggest
743);
744MMRESULT WINAPI acmFormatTagDetailsA(
745 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
746);
747MMRESULT WINAPI acmFormatTagDetailsW(
748 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
749);
750#define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
751
752MMRESULT WINAPI acmFormatTagEnumA(
753 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
754 ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
755);
756MMRESULT WINAPI acmFormatTagEnumW(
757 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
758 ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum
759);
760#define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
761
762DWORD WINAPI acmGetVersion(void
763);
764MMRESULT WINAPI acmMetrics(
765 HACMOBJ hao, UINT uMetric, LPVOID pMetric
766);
767MMRESULT WINAPI acmStreamClose(
768 HACMSTREAM has, DWORD fdwClose
769);
770MMRESULT WINAPI acmStreamConvert(
771 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
772);
773MMRESULT WINAPI acmStreamMessage(
774 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
775);
776MMRESULT WINAPI acmStreamOpen(
777 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
778 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD_PTR dwCallback,
779 DWORD_PTR dwInstance, DWORD fdwOpen
780);
781MMRESULT WINAPI acmStreamPrepareHeader(
782 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
783);
784MMRESULT WINAPI acmStreamReset(
785 HACMSTREAM has, DWORD fdwReset
786);
787MMRESULT WINAPI acmStreamSize(
788 HACMSTREAM has, DWORD cbInput,
789 LPDWORD pdwOutputBytes, DWORD fdwSize
790);
791MMRESULT WINAPI acmStreamUnprepareHeader(
792 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
793);
794
795#include <poppack.h>
796
797#ifdef __cplusplus
798} /* extern "C" */
799#endif /* defined(__cplusplus) */
800
801#endif /* __WINE_MSACM_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette