Added some stubs for CLSID_FilterGraph.
[wine] / dlls / msacm / msacm_main.c
1 /*
2  *      MSACM library
3  *
4  *      Copyright 1998  Patrik Stridvall
5  */
6
7 #include "winbase.h"
8 #include "winerror.h"
9 #include "mmsystem.h"
10 #include "msacm.h"
11 #include "msacmdrv.h"
12 #include "wineacm.h"
13 #include "debugtools.h"
14
15 DEFAULT_DEBUG_CHANNEL(msacm);
16
17 /**************************************************************************
18  *              DllEntryPoint (MSACM.255)
19  *
20  * MSACM DLL entry point
21  *
22  */
23 BOOL WINAPI MSACM_DllEntryPoint(DWORD fdwReason, HINSTANCE16 hinstDLL, WORD ds, 
24                                 WORD wHeapSize, DWORD dwReserved1, WORD wReserved2)
25 {
26     static HANDLE       hndl;
27
28     TRACE("0x%x 0x%lx\n", hinstDLL, fdwReason);
29
30     switch (fdwReason) {
31     case DLL_PROCESS_ATTACH:
32         if (!hndl && !(hndl = LoadLibraryA("MSACM32.DLL"))) {
33             ERR("Could not load sibling MsAcm32.dll\n");
34             return FALSE;
35         }
36         break;
37     case DLL_PROCESS_DETACH:
38         FreeLibrary(hndl);
39         hndl = 0;
40         break;
41     case DLL_THREAD_ATTACH:
42     case DLL_THREAD_DETACH:
43         break;
44     }
45     return TRUE;
46 }
47
48 /***********************************************************************
49  *              acmGetVersion (MSACM.7)
50  */
51 DWORD WINAPI acmGetVersion16(void)
52 {
53   return acmGetVersion();
54 }
55
56 /***********************************************************************
57  *              acmMetrics (MSACM.8)
58  */
59
60 MMRESULT16 WINAPI acmMetrics16(
61   HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric)
62 {
63   FIXME("(0x%04x, %d, %p): semi-stub\n", hao, uMetric, pMetric);
64
65   return acmMetrics(hao, uMetric, pMetric);
66 }
67
68 /***********************************************************************
69  *              acmDriverEnum (MSACM.10)
70  */
71 MMRESULT16 WINAPI acmDriverEnum16(
72   ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
73 {
74   FIXME("(%p, %ld, %ld): stub\n",
75     fnCallback, dwInstance, fdwEnum
76   );
77   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
78   return MMSYSERR_ERROR;
79 }
80
81 /***********************************************************************
82  *              acmDriverDetails (MSACM.11)
83  */
84
85 MMRESULT16 WINAPI acmDriverDetails16(
86   HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails)
87 {
88   FIXME("(0x%04x, %p, %ld): stub\n", hadid, padd, fdwDetails);
89   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
90   return MMSYSERR_ERROR;
91 }
92
93 /***********************************************************************
94  *              acmDriverAdd (MSACM.12)
95  */
96 MMRESULT16 WINAPI acmDriverAdd16(
97   LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
98   LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
99 {
100   FIXME("(%p, 0x%04x, %ld, %ld, %ld): stub\n",
101     phadid, hinstModule, lParam, dwPriority, fdwAdd
102   );
103   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
104   return MMSYSERR_ERROR;
105 }
106
107 /***********************************************************************
108  *              acmDriverRemove (MSACM.13)
109  */
110 MMRESULT16 WINAPI acmDriverRemove16(
111   HACMDRIVERID16 hadid, DWORD fdwRemove)
112 {
113   FIXME("(0x%04x, %ld): stub\n", hadid, fdwRemove);
114   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
115   return MMSYSERR_ERROR;
116 }
117
118 /***********************************************************************
119  *              acmDriverOpen (MSACM.14)
120  */
121 MMRESULT16 WINAPI acmDriverOpen16(
122   LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen)
123 {
124   FIXME("(%p, 0x%04x, %ld): stub\n", phad, hadid, fdwOpen);
125   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
126   return MMSYSERR_ERROR;
127 }
128
129 /***********************************************************************
130  *              acmDriverClose (MSACM.15)
131  */
132 MMRESULT16 WINAPI acmDriverClose16(
133   HACMDRIVER16 had, DWORD fdwClose)
134 {
135   FIXME("(0x%04x, %ld): stub\n", had, fdwClose);
136   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
137   return MMSYSERR_ERROR;
138 }
139
140 /***********************************************************************
141  *              acmDriverMessage (MSACM.16)
142  */
143 LRESULT WINAPI acmDriverMessage16(
144   HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2)
145 {
146   FIXME("(0x%04x, %d, %ld, %ld): stub\n",
147     had, uMsg, lParam1, lParam2
148   );
149   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
150   return 0;
151 }
152
153 /***********************************************************************
154  *              acmDriverID (MSACM.17)
155  */
156 MMRESULT16 WINAPI acmDriverID16(
157   HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID)
158 {
159   FIXME("(0x%04x, %p, %ld): stub\n", hao, phadid, fdwDriverID);
160   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
161   return MMSYSERR_ERROR;
162 }
163
164 /***********************************************************************
165  *              acmDriverPriority (MSACM.18)
166  */
167 MMRESULT16 WINAPI acmDriverPriority16(
168  HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority)
169 {
170   FIXME("(0x%04x, %ld, %ld): stub\n",
171     hadid, dwPriority, fdwPriority
172   );
173   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
174   return MMSYSERR_ERROR;
175 }
176
177 /***********************************************************************
178  *              acmFormatTagDetails (MSACM.30)
179  */
180 MMRESULT16 WINAPI acmFormatTagDetails16(
181   HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails)
182 {
183   FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
184   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
185   return MMSYSERR_ERROR;
186 }
187
188 /***********************************************************************
189  *              acmFormatTagEnum (MSACM.31)
190  */
191 MMRESULT16 WINAPI acmFormatTagEnum16(
192   HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
193   ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
194 {
195   FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
196     had, paftd, fnCallback, dwInstance, fdwEnum
197   ); 
198   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
199   return MMSYSERR_ERROR;
200 }
201
202 /***********************************************************************
203  *              acmFormatChoose (MSACM.40)
204  */
205 MMRESULT16 WINAPI acmFormatChoose16(
206   LPACMFORMATCHOOSE16 pafmtc)
207 {
208   FIXME("(%p): stub\n", pafmtc);
209   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
210   return MMSYSERR_ERROR;
211 }
212
213 /***********************************************************************
214  *              acmFormatDetails (MSACM.41)
215  */
216 MMRESULT16 WINAPI acmFormatDetails16(
217   HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails)
218 {
219   FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
220   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
221   return MMSYSERR_ERROR;
222 }
223
224 /***********************************************************************
225  *              acmFormatEnum (MSACM.42)
226  */
227 MMRESULT16 WINAPI acmFormatEnum16(
228   HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
229   ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
230 {
231   FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
232     had, pafd, fnCallback, dwInstance, fdwEnum
233   );
234   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
235   return MMSYSERR_ERROR;
236 }
237
238 /***********************************************************************
239  *              acmFormatSuggest (MSACM.45)
240  */
241 MMRESULT16 WINAPI acmFormatSuggest16(
242   HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc, 
243   LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest)
244 {
245   FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
246     had, pwfxSrc, pwfxDst, cbwfxDst, fdwSuggest
247   );
248   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
249   return MMSYSERR_ERROR;
250 }
251
252 /***********************************************************************
253  *              acmFilterTagDetails (MSACM.50)
254  */
255 MMRESULT16 WINAPI acmFilterTagDetails16(
256   HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails)
257 {
258   FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
259   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
260   return MMSYSERR_ERROR;
261 }
262
263 /***********************************************************************
264  *              acmFilterTagEnum (MSACM.51)
265  */
266 MMRESULT16 WINAPI acmFilterTagEnum16(
267   HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
268   ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
269 {
270   FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
271     had, paftd, fnCallback, dwInstance, fdwEnum
272   );
273   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
274   return MMSYSERR_ERROR;
275 }
276
277 /***********************************************************************
278  *              acmFilterChoose (MSACM.60)
279  */
280 MMRESULT16 WINAPI acmFilterChoose16(
281   LPACMFILTERCHOOSE16 pafltrc)
282 {
283   FIXME("(%p): stub\n", pafltrc);
284   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
285   return MMSYSERR_ERROR;
286 }
287
288 /***********************************************************************
289  *              acmFilterDetails (MSACM.61)
290  */
291 MMRESULT16 WINAPI acmFilterDetails16(
292   HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails)
293 {
294   FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
295   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
296   return MMSYSERR_ERROR;
297 }
298
299 /***********************************************************************
300  *              acmFilterEnum (MSACM.62)
301  */
302 MMRESULT16 WINAPI acmFilterEnum16(
303   HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
304   ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
305 {
306   FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
307     had, pafd, fnCallback, dwInstance, fdwEnum
308   );
309   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
310   return MMSYSERR_ERROR;
311 }
312
313 /***********************************************************************
314  *              acmStreamOpen (MSACM.70)
315  */
316 MMRESULT16 WINAPI acmStreamOpen16(
317   LPHACMSTREAM16 phas, HACMDRIVER16 had,
318   LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
319   LPWAVEFILTER pwfltr, DWORD dwCallback,
320   DWORD dwInstance, DWORD fdwOpen)
321 {
322   FIXME("(%p, 0x%04x, %p, %p, %p, %ld, %ld, %ld): stub\n",
323     phas, had, pwfxSrc, pwfxDst, pwfltr,
324     dwCallback, dwInstance, fdwOpen
325   );
326   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
327   return MMSYSERR_ERROR;
328 }
329
330 /***********************************************************************
331  *              acmStreamClose (MSACM.71)
332  */
333 MMRESULT16 WINAPI acmStreamClose16(
334   HACMSTREAM16 has, DWORD fdwClose)
335 {
336   FIXME("(0x%04x, %ld): stub\n", has, fdwClose);
337   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
338   return MMSYSERR_ERROR;
339 }
340
341 /***********************************************************************
342  *              acmStreamSize (MSACM.72)
343  */
344 MMRESULT16 WINAPI acmStreamSize16(
345   HACMSTREAM16 has, DWORD cbInput, 
346   LPDWORD pdwOutputBytes, DWORD fdwSize)
347 {
348   FIXME("(0x%04x, %ld, %p, %ld): stub\n",
349     has, cbInput, pdwOutputBytes, fdwSize
350   );
351   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
352   return MMSYSERR_ERROR;
353 }
354
355 /***********************************************************************
356  *              acmStreamConvert (MSACM.75)
357  */
358 MMRESULT16 WINAPI acmStreamConvert16(
359   HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert)
360 {
361   FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwConvert);
362   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
363   return MMSYSERR_ERROR;
364 }
365
366 /***********************************************************************
367  *              acmStreamReset (MSACM.76)
368  */
369 MMRESULT16 WINAPI acmStreamReset16(
370   HACMSTREAM16 has, DWORD fdwReset)
371 {
372   FIXME("(0x%04x, %ld): stub\n", has, fdwReset);
373   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
374   return MMSYSERR_ERROR;
375 }
376
377 /***********************************************************************
378  *              acmStreamPrepareHeader (MSACM.77)
379  */
380 MMRESULT16 WINAPI acmStreamPrepareHeader16(
381   HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare)
382 {
383   FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwPrepare);
384   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
385   return MMSYSERR_ERROR;
386 }
387
388 /***********************************************************************
389  *              acmStreamUnprepareHeader (MSACM.78)
390  */
391 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
392   HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare)
393 {
394   FIXME("(0x%04x, %p, %ld): stub\n",
395     has, pash, fdwUnprepare
396   );
397   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
398   return MMSYSERR_ERROR;
399 }
400
401 /***********************************************************************
402  *              ACMAPPLICATIONEXIT (MSACM.150)
403  * FIXME
404  *   No documentation found.
405  */
406
407 /***********************************************************************
408  *              ACMHUGEPAGELOCK (MSACM.175)
409  *FIXME
410  *   No documentation found.
411  */
412
413 /***********************************************************************
414  *              ACMHUGEPAGEUNLOCK (MSACM.176)
415  * FIXME
416  *   No documentation found.
417  */
418
419 /***********************************************************************
420  *              ACMOPENCONVERSION (MSACM.200)
421  * FIXME
422  *   No documentation found.
423  */
424
425 /***********************************************************************
426  *              ACMCLOSECONVERSION (MSACM.201)
427  * FIXME
428  *   No documentation found.
429  */
430
431 /***********************************************************************
432  *              ACMCONVERT (MSACM.202)
433  * FIXME
434  *   No documentation found.
435  */
436
437 /***********************************************************************
438  *              ACMCHOOSEFORMAT (MSACM.203)
439  * FIXME
440  *   No documentation found.
441  */
442
443