blob: 8a2c8e7d62ade8b6d6286577628c2bd1262b8721 [file] [log] [blame]
Patrik Stridvall29c08dd1998-10-11 17:00:29 +00001/*
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00002 * 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
Jonathan Ernst360a3f92006-05-18 14:49:52 +020018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +000019 */
20
21#ifndef __WINE_MSACM_H
22#define __WINE_MSACM_H
23
Patrik Stridvall14da7b11999-06-12 10:53:06 +000024#ifdef __cplusplus
25extern "C" {
26#endif /* defined(__cplusplus) */
27
Eric Pouech28b8ac82001-01-04 20:58:05 +000028#define ACMAPI WINAPI
29
Patrik Stridvall29c08dd1998-10-11 17:00:29 +000030/***********************************************************************
Patrik Stridvall29c08dd1998-10-11 17:00:29 +000031 * Defines/Enums
32 */
Patrik Stridvall29c08dd1998-10-11 17:00:29 +000033#define ACMERR_BASE 512
34#define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
35#define ACMERR_BUSY (ACMERR_BASE + 1)
36#define ACMERR_UNPREPARED (ACMERR_BASE + 2)
37#define ACMERR_CANCELED (ACMERR_BASE + 3)
38
39#define MM_ACM_OPEN MM_STREAM_OPEN
40#define MM_ACM_CLOSE MM_STREAM_CLOSE
41#define MM_ACM_DONE MM_STREAM_DONE
42
Alex Villacís Lasso1c6fbba2006-01-13 13:52:49 +010043#define ACM_DRIVERADDF_NAME 0x00000001L
Patrik Stridvall29c08dd1998-10-11 17:00:29 +000044#define ACM_DRIVERADDF_FUNCTION 0x00000003L
45#define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
46#define ACM_DRIVERADDF_TYPEMASK 0x00000007L
47#define ACM_DRIVERADDF_LOCAL 0x00000000L
48#define ACM_DRIVERADDF_GLOBAL 0x00000008L
49
50#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
51#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
52#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
53#define ACMDRIVERDETAILS_LICENSING_CHARS 128
54#define ACMDRIVERDETAILS_FEATURES_CHARS 512
55
56#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
57#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
58
59#define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
60#define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
61#define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
62#define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
63#define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
64#define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
65#define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
66
67#define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
68#define ACM_DRIVERENUMF_DISABLED 0x80000000L
69
70#define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
71#define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
72#define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
73#define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
74#define ACM_DRIVERPRIORITYF_END 0x00020000L
75#define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
76
77#define MM_ACM_FILTERCHOOSE 0x8000
78
79#define FILTERCHOOSE_MESSAGE 0
80#define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
81#define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
82#define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
83
84#define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
85#define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
86#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
87#define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
88#define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
89#define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
90
91#define ACMFILTERDETAILS_FILTER_CHARS 128
92
93#define ACM_FILTERDETAILSF_INDEX 0x00000000L
94#define ACM_FILTERDETAILSF_FILTER 0x00000001L
95#define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
96
97#define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
98
99#define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
100#define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
101#define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
102#define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
103
104#define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
105
Alexandre Julliarda3960291999-02-26 11:11:13 +0000106#define ACMHELPMSGSTRINGA "acmchoose_help"
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000107#if defined(__GNUC__)
108# define ACMHELPMSGSTRINGW (const WCHAR []){ 'a','c','m', \
109 'c','h','o','o','s','e','_','h','e','l','p',0 }
110#elif defined(_MSC_VER)
111# define ACMHELPMSGSTRINGW L"acmchoose_help"
112#else
Jon Griffiths7a6bad82001-01-22 02:13:58 +0000113static const WCHAR ACMHELPMSGSTRINGW[] = { 'a','c','m',
114 'c','h','o','o','s','e','_','h','e','l','p',0 };
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000115#endif
Eric Pouech28b8ac82001-01-04 20:58:05 +0000116#define ACMHELPMSGSTRING WINELIB_NAME_AW(ACMHELPMSGSTRING)
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000117
Alexandre Julliarda3960291999-02-26 11:11:13 +0000118#define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000119#if defined(__GNUC__)
120# define ACMHELPMSGCONTEXTMENUW (const WCHAR []){ 'a','c','m', \
121 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 }
122#elif defined(_MSC_VER)
123# define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
124#else
Jon Griffiths7a6bad82001-01-22 02:13:58 +0000125static const WCHAR ACMHELPMSGCONTEXTMENUW[] = { 'a','c','m',
126 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','m','e','n','u',0 };
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000127#endif
Eric Pouech28b8ac82001-01-04 20:58:05 +0000128#define ACMHELPMSGCONTEXTMENU WINELIB_NAME_AW(ACMHELPMSGCONTEXTMENU)
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000129
Alexandre Julliarda3960291999-02-26 11:11:13 +0000130#define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000131#if defined(__GNUC__)
132# define ACMHELPMSGCONTEXTHELPW (const WCHAR []){ 'a','c','m', \
133 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 }
134#elif defined(_MSC_VER)
135# define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
136#else
Jon Griffiths7a6bad82001-01-22 02:13:58 +0000137static const WCHAR ACMHELPMSGCONTEXTHELPW[] = { 'a','c','m',
138 'c','h','o','o','s','e','_','c','o','n','t','e','x','t','h','e','l','p',0 };
Dmitry Timoshkova9c057f2002-09-16 19:29:36 +0000139#endif
Eric Pouech28b8ac82001-01-04 20:58:05 +0000140#define ACMHELPMSGCONTEXTHELP WINELIB_NAME_AW(ACMHELPMSGCONTEXTHELP)
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000141
142#define MM_ACM_FORMATCHOOSE 0x8000
143
144#define FORMATCHOOSE_MESSAGE 0
145#define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
146#define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
147#define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
148
149#define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
150#define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
151#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
152#define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
153#define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
154#define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
155
156#define ACMFORMATDETAILS_FORMAT_CHARS 128
157
158#define ACM_FORMATDETAILSF_INDEX 0x00000000L
159#define ACM_FORMATDETAILSF_FORMAT 0x00000001L
160#define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
161
162#define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
163#define ACM_FORMATENUMF_NCHANNELS 0x00020000L
164#define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
165#define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
166#define ACM_FORMATENUMF_CONVERT 0x00100000L
167#define ACM_FORMATENUMF_SUGGEST 0x00200000L
168#define ACM_FORMATENUMF_HARDWARE 0x00400000L
169#define ACM_FORMATENUMF_INPUT 0x00800000L
170#define ACM_FORMATENUMF_OUTPUT 0x01000000L
171
172#define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
173#define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
174#define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
175#define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
176#define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
177
178#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
179
180#define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
181#define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
182#define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
183#define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
184
185#define ACM_METRIC_COUNT_DRIVERS 1
186#define ACM_METRIC_COUNT_CODECS 2
187#define ACM_METRIC_COUNT_CONVERTERS 3
188#define ACM_METRIC_COUNT_FILTERS 4
189#define ACM_METRIC_COUNT_DISABLED 5
190#define ACM_METRIC_COUNT_HARDWARE 6
191#define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
192#define ACM_METRIC_COUNT_LOCAL_CODECS 21
193#define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
194#define ACM_METRIC_COUNT_LOCAL_FILTERS 23
195#define ACM_METRIC_COUNT_LOCAL_DISABLED 24
196#define ACM_METRIC_HARDWARE_WAVE_INPUT 30
197#define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
198#define ACM_METRIC_MAX_SIZE_FORMAT 50
199#define ACM_METRIC_MAX_SIZE_FILTER 51
200#define ACM_METRIC_DRIVER_SUPPORT 100
201#define ACM_METRIC_DRIVER_PRIORITY 101
202
203#define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
204#define ACM_STREAMCONVERTF_START 0x00000010
205#define ACM_STREAMCONVERTF_END 0x00000020
206
207#define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
208#define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
209#define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
210
211#define ACM_STREAMOPENF_QUERY 0x00000001
212#define ACM_STREAMOPENF_ASYNC 0x00000002
213#define ACM_STREAMOPENF_NONREALTIME 0x00000004
214
215#define ACM_STREAMSIZEF_SOURCE 0x00000000L
216#define ACM_STREAMSIZEF_DESTINATION 0x00000001L
217#define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
218
219#define ACMDM_USER (DRV_USER + 0x0000)
220#define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
221#define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
222
223#define ACMDM_BASE ACMDM_RESERVED_LOW
224
225#define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
226
Alexandre Julliarde54cf7b2001-07-30 18:57:18 +0000227/* handles */
228
Vincent Bérond62d41c2002-03-25 20:55:58 +0000229DECLARE_HANDLE(HACMDRIVERID);
230DECLARE_HANDLE(HACMDRIVER);
231DECLARE_HANDLE(HACMSTREAM);
Vincent Béron1c9733c2002-03-26 19:48:42 +0000232DECLARE_HANDLE(HACMOBJ);
Alexandre Julliard435e2e62002-12-10 22:56:43 +0000233typedef HACMDRIVERID *PHACMDRIVERID, *LPHACMDRIVERID;
234typedef HACMDRIVER *PHACMDRIVER, *LPHACMDRIVER;
235typedef HACMSTREAM *PHACMSTREAM, *LPHACMSTREAM;
236typedef HACMOBJ *PHACMOBJ, *LPHACMOBJ;
Alexandre Julliarde54cf7b2001-07-30 18:57:18 +0000237
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000238/***********************************************************************
239 * Callbacks
240 */
241
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000242typedef BOOL (CALLBACK *ACMDRIVERENUMCB)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000243 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000244);
245
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000246typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000247 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000248);
249
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000250typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000251 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000252);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000253#define ACMFILTERCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFILTERCHOOSEHOOKPROC)
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000254
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000255typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000256 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000257);
258
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000259typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000260 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000261);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000262#define ACMFORMATCHOOSEHOOKPROC WINELIB_NAME_AW(ACMFORMATCHOOSEHOOKPROC)
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000263
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000264/***********************************************************************
265 * Structures
266 */
267
Alexandre Julliarda3960291999-02-26 11:11:13 +0000268typedef struct _ACMDRIVERDETAILSA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000269{
270 DWORD cbStruct;
271
272 FOURCC fccType;
273 FOURCC fccComp;
274
275 WORD wMid;
276 WORD wPid;
277
278 DWORD vdwACM;
279 DWORD vdwDriver;
280
281 DWORD fdwSupport;
282 DWORD cFormatTags;
283 DWORD cFilterTags;
284
Alexandre Julliarda3960291999-02-26 11:11:13 +0000285 HICON hicon;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000286
287 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
288 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
289 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
290 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
291 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000292} ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000293
Alexandre Julliarda3960291999-02-26 11:11:13 +0000294typedef struct _ACMDRIVERDETAILSW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000295{
296 DWORD cbStruct;
297
298 FOURCC fccType;
299 FOURCC fccComp;
300
301 WORD wMid;
302 WORD wPid;
303
304 DWORD vdwACM;
305 DWORD vdwDriver;
306
307 DWORD fdwSupport;
308 DWORD cFormatTags;
309 DWORD cFilterTags;
310
Alexandre Julliarda3960291999-02-26 11:11:13 +0000311 HICON hicon;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000312
313 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
314 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
315 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
316 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
317 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000318} ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000319
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000320DECL_WINELIB_TYPE_AW(ACMDRIVERDETAILS)
321DECL_WINELIB_TYPE_AW(PACMDRIVERDETAILS)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000322DECL_WINELIB_TYPE_AW(LPACMDRIVERDETAILS)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000323
Alexandre Julliarda3960291999-02-26 11:11:13 +0000324typedef struct _ACMFILTERCHOOSEA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000325{
326 DWORD cbStruct;
327 DWORD fdwStyle;
328
Alexandre Julliarda3960291999-02-26 11:11:13 +0000329 HWND hwndOwner;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000330
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000331 PWAVEFILTER pwfltr;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000332 DWORD cbwfltr;
333
334 LPCSTR pszTitle;
335
336 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
337 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
338 LPSTR pszName;
339 DWORD cchName;
340
341 DWORD fdwEnum;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000342 PWAVEFILTER pwfltrEnum;
Vincent Béron9a624912002-05-31 23:06:46 +0000343
Alexandre Julliarda3960291999-02-26 11:11:13 +0000344 HINSTANCE hInstance;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000345 LPCSTR pszTemplateName;
346 LPARAM lCustData;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000347 ACMFILTERCHOOSEHOOKPROCA pfnHook;
Eric Pouech28b8ac82001-01-04 20:58:05 +0000348} ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA, *LPACMFILTERCHOOSEA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000349
Alexandre Julliarda3960291999-02-26 11:11:13 +0000350typedef struct _ACMFILTERCHOOSEW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000351{
352 DWORD cbStruct;
353 DWORD fdwStyle;
354
Alexandre Julliarda3960291999-02-26 11:11:13 +0000355 HWND hwndOwner;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000356
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000357 PWAVEFILTER pwfltr;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000358 DWORD cbwfltr;
359
360 LPCWSTR pszTitle;
361
362 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
363 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
364 LPWSTR pszName;
365 DWORD cchName;
366
367 DWORD fdwEnum;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000368 PWAVEFILTER pwfltrEnum;
Vincent Béron9a624912002-05-31 23:06:46 +0000369
Alexandre Julliarda3960291999-02-26 11:11:13 +0000370 HINSTANCE hInstance;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000371 LPCWSTR pszTemplateName;
372 LPARAM lCustData;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000373 ACMFILTERCHOOSEHOOKPROCW pfnHook;
Eric Pouech28b8ac82001-01-04 20:58:05 +0000374} ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW, *LPACMFILTERCHOOSEW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000375
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000376DECL_WINELIB_TYPE_AW(ACMFILTERCHOOSE)
377DECL_WINELIB_TYPE_AW(PACMFILTERCHOOSE)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000378DECL_WINELIB_TYPE_AW(LPACMFILTERCHOOSE)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000379
Alexandre Julliarda3960291999-02-26 11:11:13 +0000380typedef struct _ACMFILTERDETAILSA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000381{
382 DWORD cbStruct;
383 DWORD dwFilterIndex;
384 DWORD dwFilterTag;
385 DWORD fdwSupport;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000386 PWAVEFILTER pwfltr;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000387 DWORD cbwfltr;
388 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000389} ACMFILTERDETAILSA, *PACMFILTERDETAILSA, *LPACMFILTERDETAILSA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000390
Alexandre Julliarda3960291999-02-26 11:11:13 +0000391typedef struct _ACMFILTERDETAILSW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000392{
393 DWORD cbStruct;
394 DWORD dwFilterIndex;
395 DWORD dwFilterTag;
396 DWORD fdwSupport;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000397 PWAVEFILTER pwfltr;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000398 DWORD cbwfltr;
399 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000400} ACMFILTERDETAILSW, *PACMFILTERDETAILSW, *LPACMFILTERDETAILSW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000401
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000402DECL_WINELIB_TYPE_AW(ACMFILTERDETAILS)
403DECL_WINELIB_TYPE_AW(PACMFILTERDETAILS)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000404DECL_WINELIB_TYPE_AW(LPACMFILTERDETAILS)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000405
Alexandre Julliarda3960291999-02-26 11:11:13 +0000406typedef struct _ACMFILTERTAGDETAILSA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000407{
408 DWORD cbStruct;
409 DWORD dwFilterTagIndex;
410 DWORD dwFilterTag;
411 DWORD cbFilterSize;
412 DWORD fdwSupport;
413 DWORD cStandardFilters;
414 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000415} ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA, *LPACMFILTERTAGDETAILSA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000416
Alexandre Julliarda3960291999-02-26 11:11:13 +0000417typedef struct _ACMFILTERTAGDETAILSW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000418{
419 DWORD cbStruct;
420 DWORD dwFilterTagIndex;
421 DWORD dwFilterTag;
422 DWORD cbFilterSize;
423 DWORD fdwSupport;
424 DWORD cStandardFilters;
425 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000426} ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW, *LPACMFILTERTAGDETAILSW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000427
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000428DECL_WINELIB_TYPE_AW(ACMFILTERTAGDETAILS)
429DECL_WINELIB_TYPE_AW(PACMFILTERTAGDETAILS)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000430DECL_WINELIB_TYPE_AW(LPACMFILTERTAGDETAILS)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000431
Alexandre Julliarda3960291999-02-26 11:11:13 +0000432typedef struct _ACMFORMATCHOOSEA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000433{
434 DWORD cbStruct;
435 DWORD fdwStyle;
Vincent Béron9a624912002-05-31 23:06:46 +0000436
Alexandre Julliarda3960291999-02-26 11:11:13 +0000437 HWND hwndOwner;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000438
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000439 PWAVEFORMATEX pwfx;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000440 DWORD cbwfx;
441 LPCSTR pszTitle;
Vincent Béron9a624912002-05-31 23:06:46 +0000442
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000443 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
Vincent Béron9a624912002-05-31 23:06:46 +0000444 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000445
446 LPSTR pszName;
447 DWORD cchName;
448
449 DWORD fdwEnum;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000450 PWAVEFORMATEX pwfxEnum;
Vincent Béron9a624912002-05-31 23:06:46 +0000451
Alexandre Julliarda3960291999-02-26 11:11:13 +0000452 HINSTANCE hInstance;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000453 LPCSTR pszTemplateName;
454 LPARAM lCustData;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000455 ACMFORMATCHOOSEHOOKPROCA pfnHook;
Eric Pouech28b8ac82001-01-04 20:58:05 +0000456} ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA, *LPACMFORMATCHOOSEA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000457
Alexandre Julliarda3960291999-02-26 11:11:13 +0000458typedef struct _ACMFORMATCHOOSEW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000459{
460 DWORD cbStruct;
461 DWORD fdwStyle;
Vincent Béron9a624912002-05-31 23:06:46 +0000462
Alexandre Julliarda3960291999-02-26 11:11:13 +0000463 HWND hwndOwner;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000464
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000465 PWAVEFORMATEX pwfx;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000466 DWORD cbwfx;
467 LPCWSTR pszTitle;
Vincent Béron9a624912002-05-31 23:06:46 +0000468
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000469 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
Vincent Béron9a624912002-05-31 23:06:46 +0000470 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000471
472 LPWSTR pszName;
473 DWORD cchName;
474
475 DWORD fdwEnum;
476 LPWAVEFORMATEX pwfxEnum;
Vincent Béron9a624912002-05-31 23:06:46 +0000477
Alexandre Julliarda3960291999-02-26 11:11:13 +0000478 HINSTANCE hInstance;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000479 LPCWSTR pszTemplateName;
480 LPARAM lCustData;
Alexandre Julliarda3960291999-02-26 11:11:13 +0000481 ACMFORMATCHOOSEHOOKPROCW pfnHook;
Eric Pouech28b8ac82001-01-04 20:58:05 +0000482} ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW, *LPACMFORMATCHOOSEW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000483
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000484DECL_WINELIB_TYPE_AW(ACMFORMATCHOOSE)
485DECL_WINELIB_TYPE_AW(PACMFORMATCHOOSE)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000486DECL_WINELIB_TYPE_AW(LPACMFORMATCHOOSE)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000487
Alexandre Julliarda3960291999-02-26 11:11:13 +0000488typedef struct _ACMFORMATDETAILSA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000489{
490 DWORD cbStruct;
491 DWORD dwFormatIndex;
492 DWORD dwFormatTag;
493 DWORD fdwSupport;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000494 PWAVEFORMATEX pwfx;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000495 DWORD cbwfx;
496 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000497} ACMFORMATDETAILSA, *PACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000498
Alexandre Julliarda3960291999-02-26 11:11:13 +0000499typedef struct _ACMFORMATDETAILSW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000500{
501 DWORD cbStruct;
502 DWORD dwFormatIndex;
503 DWORD dwFormatTag;
504 DWORD fdwSupport;
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000505 PWAVEFORMATEX pwfx;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000506 DWORD cbwfx;
507 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000508} ACMFORMATDETAILSW, *PACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000509
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000510DECL_WINELIB_TYPE_AW(ACMFORMATDETAILS)
511DECL_WINELIB_TYPE_AW(PACMFORMATDETAILS)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000512DECL_WINELIB_TYPE_AW(LPACMFORMATDETAILS)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000513
Alexandre Julliarda3960291999-02-26 11:11:13 +0000514typedef struct _ACMFORMATTAGDETAILSA
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000515{
516 DWORD cbStruct;
517 DWORD dwFormatTagIndex;
518 DWORD dwFormatTag;
519 DWORD cbFormatSize;
520 DWORD fdwSupport;
521 DWORD cStandardFormats;
522 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000523} ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000524
Alexandre Julliarda3960291999-02-26 11:11:13 +0000525typedef struct _ACMFORMATTAGDETAILSW
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000526{
527 DWORD cbStruct;
528 DWORD dwFormatTagIndex;
529 DWORD dwFormatTag;
530 DWORD cbFormatSize;
531 DWORD fdwSupport;
532 DWORD cStandardFormats;
533 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000534} ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000535
Francois Gouget8b7f04d2000-10-03 04:10:42 +0000536DECL_WINELIB_TYPE_AW(ACMFORMATTAGDETAILS)
537DECL_WINELIB_TYPE_AW(PACMFORMATTAGDETAILS)
Eric Pouech28b8ac82001-01-04 20:58:05 +0000538DECL_WINELIB_TYPE_AW(LPACMFORMATTAGDETAILS)
Eric Pouechb8ba8452000-08-26 04:33:00 +0000539
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000540typedef struct _ACMSTREAMHEADER
541{
542 DWORD cbStruct;
543 DWORD fdwStatus;
544 DWORD dwUser;
545 LPBYTE pbSrc;
546 DWORD cbSrcLength;
547 DWORD cbSrcLengthUsed;
548 DWORD dwSrcUser;
549 LPBYTE pbDst;
550 DWORD cbDstLength;
551 DWORD cbDstLengthUsed;
552 DWORD dwDstUser;
553 DWORD dwReservedDriver[10];
Eric Pouech28b8ac82001-01-04 20:58:05 +0000554} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000555
556/***********************************************************************
557 * Callbacks 2
558 */
559
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000560typedef BOOL (CALLBACK *ACMFILTERENUMCBA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000561 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000562 DWORD dwInstance, DWORD fdwSupport
563);
564
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000565typedef BOOL (CALLBACK *ACMFILTERENUMCBW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000566 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000567 DWORD dwInstance, DWORD fdwSupport
568);
569
Eric Pouechb8ba8452000-08-26 04:33:00 +0000570#define ACMFILTERENUMCB WINELIB_NAME_AW(ACMFILTERENUMCB)
571
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000572typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000573 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000574 DWORD dwInstance, DWORD fdwSupport
575);
576
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000577typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000578 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000579 DWORD dwInstance, DWORD fdwSupport
580);
581
Eric Pouechb8ba8452000-08-26 04:33:00 +0000582#define ACMFILTERTAGENUMCB WINELIB_NAME_AW(ACMFILTERTAGENUMCB)
583
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000584typedef BOOL (CALLBACK *ACMFORMATENUMCBA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000585 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000586 DWORD dwInstance, DWORD fdwSupport
587);
588
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000589typedef BOOL (CALLBACK *ACMFORMATENUMCBW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000590 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000591 DWORD dwInstance, DWORD fdwSupport
592);
593
Eric Pouechb8ba8452000-08-26 04:33:00 +0000594#define ACMFORMATENUMCB WINELIB_NAME_AW(ACMFORMATENUMCB)
595
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000596typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000597 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000598 DWORD dwInstance, DWORD fdwSupport
599);
600
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000601typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)(
Alexandre Julliarda3960291999-02-26 11:11:13 +0000602 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000603 DWORD dwInstance, DWORD fdwSupport
604);
605
Eric Pouechb8ba8452000-08-26 04:33:00 +0000606#define ACMFORMATTAGENUMCB WINELIB_NAME_AW(ACMFORMATTAGENUMCB)
607
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000608/***********************************************************************
609 * Functions - Win32
610 */
611
Alexandre Julliarda3960291999-02-26 11:11:13 +0000612MMRESULT WINAPI acmDriverAddA(
613 PHACMDRIVERID phadid, HINSTANCE hinstModule,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000614 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
615);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000616MMRESULT WINAPI acmDriverAddW(
617 PHACMDRIVERID phadid, HINSTANCE hinstModule,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000618 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
619);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000620#define acmDriverAdd WINELIB_NAME_AW(acmDriverAdd)
621
Alexandre Julliarda3960291999-02-26 11:11:13 +0000622MMRESULT WINAPI acmDriverClose(
623 HACMDRIVER had, DWORD fdwClose
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000624);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000625MMRESULT WINAPI acmDriverDetailsA(
626 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000627);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000628MMRESULT WINAPI acmDriverDetailsW(
629 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000630);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000631#define acmDriverDetails WINELIB_NAME_AW(acmDriverDetails)
632
Alexandre Julliarda3960291999-02-26 11:11:13 +0000633MMRESULT WINAPI acmDriverEnum(
634 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000635);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000636MMRESULT WINAPI acmDriverID(
637 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000638);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000639LRESULT WINAPI acmDriverMessage(
640 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000641);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000642MMRESULT WINAPI acmDriverOpen(
643 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000644);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000645MMRESULT WINAPI acmDriverPriority(
646 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000647);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000648MMRESULT WINAPI acmDriverRemove(
649 HACMDRIVERID hadid, DWORD fdwRemove
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000650);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000651MMRESULT WINAPI acmFilterChooseA(
652 PACMFILTERCHOOSEA pafltrc
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000653);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000654MMRESULT WINAPI acmFilterChooseW(
655 PACMFILTERCHOOSEW pafltrc
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000656);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000657#define acmFilterChoose WINELIB_NAME_AW(acmFilterChoose)
658
Alexandre Julliarda3960291999-02-26 11:11:13 +0000659MMRESULT WINAPI acmFilterDetailsA(
660 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000661);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000662MMRESULT WINAPI acmFilterDetailsW(
663 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000664);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000665#define acmFilterDetails WINELIB_NAME_AW(acmFilterDetails)
666
Alexandre Julliarda3960291999-02-26 11:11:13 +0000667MMRESULT WINAPI acmFilterEnumA(
Vincent Béron9a624912002-05-31 23:06:46 +0000668 HACMDRIVER had, PACMFILTERDETAILSA pafd,
Alexandre Julliarda3960291999-02-26 11:11:13 +0000669 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000670);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000671MMRESULT WINAPI acmFilterEnumW(
Vincent Béron9a624912002-05-31 23:06:46 +0000672 HACMDRIVER had, PACMFILTERDETAILSW pafd,
Alexandre Julliarda3960291999-02-26 11:11:13 +0000673 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000674);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000675#define acmFilterEnum WINELIB_NAME_AW(acmFilterEnum)
676
Alexandre Julliarda3960291999-02-26 11:11:13 +0000677MMRESULT WINAPI acmFilterTagDetailsA(
678 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000679);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000680MMRESULT WINAPI acmFilterTagDetailsW(
681 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000682);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000683#define acmFilterTagDetails WINELIB_NAME_AW(acmFilterTagDetails)
684
Alexandre Julliarda3960291999-02-26 11:11:13 +0000685MMRESULT WINAPI acmFilterTagEnumA(
686 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
687 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000688);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000689MMRESULT WINAPI acmFilterTagEnumW(
690 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
691 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000692);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000693#define acmFilterTagEnum WINELIB_NAME_AW(acmFilterTagEnum)
694
Alexandre Julliarda3960291999-02-26 11:11:13 +0000695MMRESULT WINAPI acmFormatChooseA(
696 PACMFORMATCHOOSEA pafmtc
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000697);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000698MMRESULT WINAPI acmFormatChooseW(
699 PACMFORMATCHOOSEW pafmtc
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000700);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000701#define acmFormatChoose WINELIB_NAME_AW(acmFormatChoose)
702
Alexandre Julliarda3960291999-02-26 11:11:13 +0000703MMRESULT WINAPI acmFormatDetailsA(
704 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000705);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000706MMRESULT WINAPI acmFormatDetailsW(
707 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000708);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000709#define acmFormatDetails WINELIB_NAME_AW(acmFormatDetails)
710
Alexandre Julliarda3960291999-02-26 11:11:13 +0000711MMRESULT WINAPI acmFormatEnumA(
712 HACMDRIVER had, PACMFORMATDETAILSA pafd,
713 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000714);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000715MMRESULT WINAPI acmFormatEnumW(
716 HACMDRIVER had, PACMFORMATDETAILSW pafd,
717 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000718);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000719#define acmFormatEnum WINELIB_NAME_AW(acmFormatEnum)
720
Alexandre Julliarda3960291999-02-26 11:11:13 +0000721MMRESULT WINAPI acmFormatSuggest(
722 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000723 DWORD cbwfxDst, DWORD fdwSuggest
724);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000725MMRESULT WINAPI acmFormatTagDetailsA(
726 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000727);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000728MMRESULT WINAPI acmFormatTagDetailsW(
729 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000730);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000731#define acmFormatTagDetails WINELIB_NAME_AW(acmFormatTagDetails)
732
Alexandre Julliarda3960291999-02-26 11:11:13 +0000733MMRESULT WINAPI acmFormatTagEnumA(
734 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
735 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000736);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000737MMRESULT WINAPI acmFormatTagEnumW(
738 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
739 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000740);
Eric Pouechb8ba8452000-08-26 04:33:00 +0000741#define acmFormatTagEnum WINELIB_NAME_AW(acmFormatTagEnum)
742
Eric Pouech28b8ac82001-01-04 20:58:05 +0000743DWORD WINAPI acmGetVersion(void
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000744);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000745MMRESULT WINAPI acmMetrics(
746 HACMOBJ hao, UINT uMetric, LPVOID pMetric
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000747);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000748MMRESULT WINAPI acmStreamClose(
749 HACMSTREAM has, DWORD fdwClose
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000750);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000751MMRESULT WINAPI acmStreamConvert(
752 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000753);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000754MMRESULT WINAPI acmStreamMessage(
755 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000756);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000757MMRESULT WINAPI acmStreamOpen(
758 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
Bertho Stultiens27a0ced1999-02-14 09:41:42 +0000759 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000760 DWORD dwInstance, DWORD fdwOpen
761);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000762MMRESULT WINAPI acmStreamPrepareHeader(
763 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000764);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000765MMRESULT WINAPI acmStreamReset(
766 HACMSTREAM has, DWORD fdwReset
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000767);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000768MMRESULT WINAPI acmStreamSize(
Vincent Béron9a624912002-05-31 23:06:46 +0000769 HACMSTREAM has, DWORD cbInput,
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000770 LPDWORD pdwOutputBytes, DWORD fdwSize
771);
Alexandre Julliarda3960291999-02-26 11:11:13 +0000772MMRESULT WINAPI acmStreamUnprepareHeader(
773 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000774);
775
Patrik Stridvall14da7b11999-06-12 10:53:06 +0000776#ifdef __cplusplus
777} /* extern "C" */
778#endif /* defined(__cplusplus) */
779
Patrik Stridvall29c08dd1998-10-11 17:00:29 +0000780#endif /* __WINE_MSACM_H */