source: trunk/src/msacm32/wineacm.h@ 6653

Last change on this file since 6653 was 5434, checked in by sandervl, 24 years ago

Wine update

File size: 9.7 KB
Line 
1/* -*- tab-width: 8; c-basic-offset: 4 -*- */
2#ifndef __WINE_WINEACM_H
3#define __WINE_WINEACM_H
4
5#ifndef __WIN32OS2__
6#include "wine/windef16.h"
7#include "wine/mmsystem16.h"
8
9/***********************************************************************
10 * Win16 definitions
11 */
12typedef BOOL16 CALLBACK (*ACMDRIVERENUMCB16)(
13 HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
14);
15typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROC16)(
16 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
17);
18typedef UINT16 CALLBACK (*ACMFORMATCHOOSEHOOKPROC16)(
19 HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
20);
21
22typedef struct _ACMDRIVERDETAILS16
23{
24 DWORD cbStruct;
25
26 FOURCC fccType;
27 FOURCC fccComp;
28
29 WORD wMid;
30 WORD wPid;
31
32 DWORD vdwACM;
33 DWORD vdwDriver;
34
35 DWORD fdwSupport;
36 DWORD cFormatTags;
37 DWORD cFilterTags;
38
39 HICON16 hicon;
40
41 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
42 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
43 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
44 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
45 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
46} ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;
47
48typedef struct _ACMFILTERCHOOSE16
49{
50 DWORD cbStruct;
51 DWORD fdwStyle;
52
53 HWND16 hwndOwner;
54
55 LPWAVEFILTER pwfltr;
56 DWORD cbwfltr;
57
58 LPCSTR pszTitle;
59
60 char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
61 char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
62 LPSTR pszName;
63 DWORD cchName;
64
65 DWORD fdwEnum;
66 LPWAVEFILTER pwfltrEnum;
67
68 HINSTANCE16 hInstance;
69 LPCSTR pszTemplateName;
70 LPARAM lCustData;
71 ACMFILTERCHOOSEHOOKPROC16 pfnHook;
72} ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
73
74typedef struct _ACMFILTERDETAILS16
75{
76 DWORD cbStruct;
77 DWORD dwFilterIndex;
78 DWORD dwFilterTag;
79 DWORD fdwSupport;
80 LPWAVEFILTER pwfltr;
81 DWORD cbwfltr;
82 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
83} ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
84
85typedef struct _ACMFILTERTAGDETAILS16
86{
87 DWORD cbStruct;
88 DWORD dwFilterTagIndex;
89 DWORD dwFilterTag;
90 DWORD cbFilterSize;
91 DWORD fdwSupport;
92 DWORD cStandardFilters;
93 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
94} ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;
95
96typedef struct _ACMFORMATCHOOSE16
97{
98 DWORD cbStruct;
99 DWORD fdwStyle;
100
101 HWND16 hwndOwner;
102
103 LPWAVEFORMATEX pwfx;
104 DWORD cbwfx;
105 LPCSTR pszTitle;
106
107 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
108 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
109
110 LPSTR pszName;
111 DWORD cchName;
112
113 DWORD fdwEnum;
114 LPWAVEFORMATEX pwfxEnum;
115
116 HINSTANCE16 hInstance;
117 LPCSTR pszTemplateName;
118 LPARAM lCustData;
119 ACMFORMATCHOOSEHOOKPROC16 pfnHook;
120} ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
121
122typedef struct _ACMFORMATDETAILS16
123{
124 DWORD cbStruct;
125 DWORD dwFormatIndex;
126 DWORD dwFormatTag;
127 DWORD fdwSupport;
128 LPWAVEFORMATEX pwfx;
129 DWORD cbwfx;
130 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
131} ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
132
133typedef struct _ACMFORMATTAGDETAILS16
134{
135 DWORD cbStruct;
136 DWORD dwFormatTagIndex;
137 DWORD dwFormatTag;
138 DWORD cbFormatSize;
139 DWORD fdwSupport;
140 DWORD cStandardFormats;
141 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
142} ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
143
144typedef ACMSTREAMHEADER ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16;
145
146typedef BOOL16 CALLBACK (*ACMFILTERENUMCB16)(
147 HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
148 DWORD dwInstance, DWORD fdwSupport
149);
150
151typedef BOOL16 CALLBACK (*ACMFILTERTAGENUMCB16)(
152 HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
153 DWORD dwInstance, DWORD fdwSupport
154);
155
156typedef BOOL16 CALLBACK (*ACMFORMATENUMCB16)(
157 HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
158 DWORD dwInstance, DWORD fdwSupport
159);
160
161typedef BOOL16 CALLBACK (*ACMFORMATTAGENUMCB16)(
162 HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
163 DWORD dwInstance, DWORD fdwSupport
164);
165
166/***********************************************************************
167 * Functions - Win16
168 */
169
170DWORD WINAPI acmGetVersion16(
171);
172MMRESULT16 WINAPI acmMetrics16(
173 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric
174);
175MMRESULT16 WINAPI acmDriverEnum16(
176 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
177);
178MMRESULT16 WINAPI acmDriverDetails16(
179 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails
180);
181MMRESULT16 WINAPI acmDriverAdd16(
182 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
183 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
184);
185MMRESULT16 WINAPI acmDriverRemove16(
186 HACMDRIVERID16 hadid, DWORD fdwRemove
187);
188MMRESULT16 WINAPI acmDriverOpen16(
189 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen
190);
191MMRESULT16 WINAPI acmDriverClose16(
192 HACMDRIVER16 had, DWORD fdwClose
193);
194LRESULT WINAPI acmDriverMessage16(
195 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2
196);
197MMRESULT16 WINAPI acmDriverID16(
198 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID
199);
200MMRESULT16 WINAPI acmDriverPriority16(
201 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority
202);
203MMRESULT16 WINAPI acmFormatTagDetails16(
204 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails
205);
206MMRESULT16 WINAPI acmFormatTagEnum16(
207 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
208 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
209);
210MMRESULT16 WINAPI acmFormatChoose16(
211 LPACMFORMATCHOOSE16 pafmtc
212);
213MMRESULT16 WINAPI acmFormatDetails16(
214 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails
215);
216MMRESULT16 WINAPI acmFormatEnum16(
217 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
218 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
219);
220MMRESULT16 WINAPI acmFormatSuggest16(
221 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
222 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
223);
224MMRESULT16 WINAPI acmFilterTagDetails16(
225 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails
226);
227MMRESULT16 WINAPI acmFilterTagEnum16(
228 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
229 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
230);
231MMRESULT16 WINAPI acmFilterChoose16(
232 LPACMFILTERCHOOSE16 pafltrc
233);
234MMRESULT16 WINAPI acmFilterDetails16(
235 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails
236);
237MMRESULT16 WINAPI acmFilterEnum16(
238 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
239 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
240);
241MMRESULT16 WINAPI acmStreamOpen16(
242 LPHACMSTREAM16 phas, HACMDRIVER16 had,
243 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
244 LPWAVEFILTER pwfltr, DWORD dwCallback,
245 DWORD dwInstance, DWORD fdwOpen
246);
247MMRESULT16 WINAPI acmStreamClose16(
248 HACMSTREAM16 has, DWORD fdwClose
249);
250MMRESULT16 WINAPI acmStreamSize16(
251 HACMSTREAM16 has, DWORD cbInput,
252 LPDWORD pdwOutputBytes, DWORD fdwSize
253);
254MMRESULT16 WINAPI acmStreamConvert16(
255 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert
256);
257MMRESULT16 WINAPI acmStreamReset16(
258 HACMSTREAM16 has, DWORD fdwReset
259);
260MMRESULT16 WINAPI acmStreamPrepareHeader16(
261 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare
262);
263MMRESULT16 WINAPI acmStreamUnprepareHeader16(
264 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare
265);
266#endif //__WIN32OS2__
267
268/***********************************************************************
269 * Wine specific - Win32
270 */
271typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID;
272typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER;
273
274#define WINE_ACMOBJ_DONTCARE 0x5EED0000
275#define WINE_ACMOBJ_DRIVERID 0x5EED0001
276#define WINE_ACMOBJ_DRIVER 0x5EED0002
277#define WINE_ACMOBJ_STREAM 0x5EED0003
278
279typedef struct _WINE_ACMOBJ
280{
281 DWORD dwType;
282 PWINE_ACMDRIVERID pACMDriverID;
283} WINE_ACMOBJ, *PWINE_ACMOBJ;
284
285typedef struct _WINE_ACMDRIVER
286{
287 WINE_ACMOBJ obj;
288 HDRVR hDrvr;
289 PWINE_ACMDRIVER pNextACMDriver;
290} WINE_ACMDRIVER;
291
292typedef struct _WINE_ACMSTREAM
293{
294 WINE_ACMOBJ obj;
295 PWINE_ACMDRIVER pDrv;
296 ACMDRVSTREAMINSTANCE drvInst;
297 HACMDRIVER hAcmDriver;
298} WINE_ACMSTREAM, *PWINE_ACMSTREAM;
299
300typedef struct _WINE_ACMDRIVERID
301{
302 WINE_ACMOBJ obj;
303 LPSTR pszDriverAlias;
304 LPSTR pszFileName;
305 HINSTANCE hInstModule; /* NULL if global */
306 DWORD dwProcessID; /* ID of process which installed a local driver */
307 BOOL bEnabled;
308 PWINE_ACMDRIVER pACMDriverList;
309 PWINE_ACMDRIVERID pNextACMDriverID;
310 PWINE_ACMDRIVERID pPrevACMDriverID;
311} WINE_ACMDRIVERID;
312
313/* From internal.c */
314extern HANDLE MSACM_hHeap;
315extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID;
316extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID;
317extern PWINE_ACMDRIVERID MSACM_RegisterDriver(LPSTR pszDriverAlias, LPSTR pszFileName,
318 HINSTANCE hinstModule);
319extern void MSACM_RegisterAllDrivers(void);
320extern PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p);
321extern void MSACM_UnregisterAllDrivers(void);
322extern PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);
323extern PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver);
324extern PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj, DWORD type);
325
326extern MMRESULT MSACM_Message(HACMDRIVER, UINT, LPARAM, LPARAM);
327
328/* From msacm32.c */
329extern HINSTANCE MSACM_hInstance32;
330
331/* From pcmcnvtr.c */
332LRESULT CALLBACK PCM_DriverProc(DWORD dwDevID, HDRVR hDriv, UINT wMsg,
333 LPARAM dwParam1, LPARAM dwParam2);
334
335/* Dialog box templates */
336#include "msacmdlg.h"
337
338#endif /* __WINE_WINEACM_H */
Note: See TracBrowser for help on using the repository browser.