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

Last change on this file since 9095 was 6712, checked in by sandervl, 24 years ago

restored old version

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