Various test fixes for XP/msvc.
[wine/multimedia.git] / dlls / msacm / msacm_main.c
blob01bfa75c57796e80bde644bad36f5db04252a53a
1 /*
2 * MSACM library
4 * Copyright 1998 Patrik Stridvall
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winerror.h"
26 #include "mmsystem.h"
27 #include "mmreg.h"
28 #include "msacm.h"
29 #include "msacmdrv.h"
30 #include "wineacm.h"
31 #include "wine/debug.h"
33 WINE_DEFAULT_DEBUG_CHANNEL(msacm);
35 /**************************************************************************
36 * DllEntryPoint (MSACM.255)
38 * MSACM DLL entry point
41 BOOL WINAPI MSACM_DllEntryPoint(DWORD fdwReason, HINSTANCE16 hinstDLL, WORD ds,
42 WORD wHeapSize, DWORD dwReserved1, WORD wReserved2)
44 static HANDLE hndl;
46 TRACE("0x%x 0x%lx\n", hinstDLL, fdwReason);
48 switch (fdwReason) {
49 case DLL_PROCESS_ATTACH:
50 if (!hndl && !(hndl = LoadLibraryA("MSACM32.DLL"))) {
51 ERR("Could not load sibling MsAcm32.dll\n");
52 return FALSE;
54 break;
55 case DLL_PROCESS_DETACH:
56 FreeLibrary(hndl);
57 hndl = 0;
58 break;
59 case DLL_THREAD_ATTACH:
60 case DLL_THREAD_DETACH:
61 break;
63 return TRUE;
66 /***********************************************************************
67 * acmGetVersion (MSACM.7)
69 DWORD WINAPI acmGetVersion16(void)
71 return acmGetVersion();
74 /***********************************************************************
75 * acmMetrics (MSACM.8)
78 MMRESULT16 WINAPI acmMetrics16(
79 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric)
81 FIXME("(0x%04x, %d, %p): semi-stub\n", hao, uMetric, pMetric);
83 if(!hao) return acmMetrics(0, uMetric, pMetric);
84 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
85 return MMSYSERR_ERROR;
88 /***********************************************************************
89 * acmDriverEnum (MSACM.10)
91 MMRESULT16 WINAPI acmDriverEnum16(
92 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
94 FIXME("(%p, %ld, %ld): stub\n",
95 fnCallback, dwInstance, fdwEnum
97 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
98 return MMSYSERR_ERROR;
101 /***********************************************************************
102 * acmDriverDetails (MSACM.11)
105 MMRESULT16 WINAPI acmDriverDetails16(
106 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails)
108 FIXME("(0x%04x, %p, %ld): stub\n", hadid, padd, fdwDetails);
109 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
110 return MMSYSERR_ERROR;
113 /***********************************************************************
114 * acmDriverAdd (MSACM.12)
116 MMRESULT16 WINAPI acmDriverAdd16(
117 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
118 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
120 FIXME("(%p, 0x%04x, %ld, %ld, %ld): stub\n",
121 phadid, hinstModule, lParam, dwPriority, fdwAdd
123 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
124 return MMSYSERR_ERROR;
127 /***********************************************************************
128 * acmDriverRemove (MSACM.13)
130 MMRESULT16 WINAPI acmDriverRemove16(
131 HACMDRIVERID16 hadid, DWORD fdwRemove)
133 FIXME("(0x%04x, %ld): stub\n", hadid, fdwRemove);
134 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
135 return MMSYSERR_ERROR;
138 /***********************************************************************
139 * acmDriverOpen (MSACM.14)
141 MMRESULT16 WINAPI acmDriverOpen16(
142 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen)
144 FIXME("(%p, 0x%04x, %ld): stub\n", phad, hadid, fdwOpen);
145 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
146 return MMSYSERR_ERROR;
149 /***********************************************************************
150 * acmDriverClose (MSACM.15)
152 MMRESULT16 WINAPI acmDriverClose16(
153 HACMDRIVER16 had, DWORD fdwClose)
155 FIXME("(0x%04x, %ld): stub\n", had, fdwClose);
156 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
157 return MMSYSERR_ERROR;
160 /***********************************************************************
161 * acmDriverMessage (MSACM.16)
163 LRESULT WINAPI acmDriverMessage16(
164 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2)
166 FIXME("(0x%04x, %d, %ld, %ld): stub\n",
167 had, uMsg, lParam1, lParam2
169 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
170 return 0;
173 /***********************************************************************
174 * acmDriverID (MSACM.17)
176 MMRESULT16 WINAPI acmDriverID16(
177 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID)
179 FIXME("(0x%04x, %p, %ld): stub\n", hao, phadid, fdwDriverID);
180 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
181 return MMSYSERR_ERROR;
184 /***********************************************************************
185 * acmDriverPriority (MSACM.18)
187 MMRESULT16 WINAPI acmDriverPriority16(
188 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority)
190 FIXME("(0x%04x, %ld, %ld): stub\n",
191 hadid, dwPriority, fdwPriority
193 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
194 return MMSYSERR_ERROR;
197 /***********************************************************************
198 * acmFormatTagDetails (MSACM.30)
200 MMRESULT16 WINAPI acmFormatTagDetails16(
201 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails)
203 FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
204 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
205 return MMSYSERR_ERROR;
208 /***********************************************************************
209 * acmFormatTagEnum (MSACM.31)
211 MMRESULT16 WINAPI acmFormatTagEnum16(
212 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
213 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
215 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
216 had, paftd, fnCallback, dwInstance, fdwEnum
218 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
219 return MMSYSERR_ERROR;
222 /***********************************************************************
223 * acmFormatChoose (MSACM.40)
225 MMRESULT16 WINAPI acmFormatChoose16(
226 LPACMFORMATCHOOSE16 pafmtc)
228 FIXME("(%p): stub\n", pafmtc);
229 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
230 return MMSYSERR_ERROR;
233 /***********************************************************************
234 * acmFormatDetails (MSACM.41)
236 MMRESULT16 WINAPI acmFormatDetails16(
237 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails)
239 FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
240 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
241 return MMSYSERR_ERROR;
244 /***********************************************************************
245 * acmFormatEnum (MSACM.42)
247 MMRESULT16 WINAPI acmFormatEnum16(
248 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
249 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
251 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
252 had, pafd, fnCallback, dwInstance, fdwEnum
254 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
255 return MMSYSERR_ERROR;
258 /***********************************************************************
259 * acmFormatSuggest (MSACM.45)
261 MMRESULT16 WINAPI acmFormatSuggest16(
262 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
263 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest)
265 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
266 had, pwfxSrc, pwfxDst, cbwfxDst, fdwSuggest
268 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
269 return MMSYSERR_ERROR;
272 /***********************************************************************
273 * acmFilterTagDetails (MSACM.50)
275 MMRESULT16 WINAPI acmFilterTagDetails16(
276 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails)
278 FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
279 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
280 return MMSYSERR_ERROR;
283 /***********************************************************************
284 * acmFilterTagEnum (MSACM.51)
286 MMRESULT16 WINAPI acmFilterTagEnum16(
287 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
288 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
290 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
291 had, paftd, fnCallback, dwInstance, fdwEnum
293 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
294 return MMSYSERR_ERROR;
297 /***********************************************************************
298 * acmFilterChoose (MSACM.60)
300 MMRESULT16 WINAPI acmFilterChoose16(
301 LPACMFILTERCHOOSE16 pafltrc)
303 FIXME("(%p): stub\n", pafltrc);
304 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
305 return MMSYSERR_ERROR;
308 /***********************************************************************
309 * acmFilterDetails (MSACM.61)
311 MMRESULT16 WINAPI acmFilterDetails16(
312 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails)
314 FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
315 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
316 return MMSYSERR_ERROR;
319 /***********************************************************************
320 * acmFilterEnum (MSACM.62)
322 MMRESULT16 WINAPI acmFilterEnum16(
323 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
324 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
326 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
327 had, pafd, fnCallback, dwInstance, fdwEnum
329 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
330 return MMSYSERR_ERROR;
333 /***********************************************************************
334 * acmStreamOpen (MSACM.70)
336 MMRESULT16 WINAPI acmStreamOpen16(
337 LPHACMSTREAM16 phas, HACMDRIVER16 had,
338 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
339 LPWAVEFILTER pwfltr, DWORD dwCallback,
340 DWORD dwInstance, DWORD fdwOpen)
342 FIXME("(%p, 0x%04x, %p, %p, %p, %ld, %ld, %ld): stub\n",
343 phas, had, pwfxSrc, pwfxDst, pwfltr,
344 dwCallback, dwInstance, fdwOpen
346 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
347 return MMSYSERR_ERROR;
350 /***********************************************************************
351 * acmStreamClose (MSACM.71)
353 MMRESULT16 WINAPI acmStreamClose16(
354 HACMSTREAM16 has, DWORD fdwClose)
356 FIXME("(0x%04x, %ld): stub\n", has, fdwClose);
357 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
358 return MMSYSERR_ERROR;
361 /***********************************************************************
362 * acmStreamSize (MSACM.72)
364 MMRESULT16 WINAPI acmStreamSize16(
365 HACMSTREAM16 has, DWORD cbInput,
366 LPDWORD pdwOutputBytes, DWORD fdwSize)
368 FIXME("(0x%04x, %ld, %p, %ld): stub\n",
369 has, cbInput, pdwOutputBytes, fdwSize
371 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
372 return MMSYSERR_ERROR;
375 /***********************************************************************
376 * acmStreamConvert (MSACM.75)
378 MMRESULT16 WINAPI acmStreamConvert16(
379 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert)
381 FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwConvert);
382 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
383 return MMSYSERR_ERROR;
386 /***********************************************************************
387 * acmStreamReset (MSACM.76)
389 MMRESULT16 WINAPI acmStreamReset16(
390 HACMSTREAM16 has, DWORD fdwReset)
392 FIXME("(0x%04x, %ld): stub\n", has, fdwReset);
393 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
394 return MMSYSERR_ERROR;
397 /***********************************************************************
398 * acmStreamPrepareHeader (MSACM.77)
400 MMRESULT16 WINAPI acmStreamPrepareHeader16(
401 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare)
403 FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwPrepare);
404 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
405 return MMSYSERR_ERROR;
408 /***********************************************************************
409 * acmStreamUnprepareHeader (MSACM.78)
411 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
412 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare)
414 FIXME("(0x%04x, %p, %ld): stub\n",
415 has, pash, fdwUnprepare
417 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
418 return MMSYSERR_ERROR;
421 /***********************************************************************
422 * ACMAPPLICATIONEXIT (MSACM.150)
423 * FIXME
424 * No documentation found.
427 /***********************************************************************
428 * ACMHUGEPAGELOCK (MSACM.175)
429 *FIXME
430 * No documentation found.
433 /***********************************************************************
434 * ACMHUGEPAGEUNLOCK (MSACM.176)
435 * FIXME
436 * No documentation found.
439 /***********************************************************************
440 * ACMOPENCONVERSION (MSACM.200)
441 * FIXME
442 * No documentation found.
445 /***********************************************************************
446 * ACMCLOSECONVERSION (MSACM.201)
447 * FIXME
448 * No documentation found.
451 /***********************************************************************
452 * ACMCONVERT (MSACM.202)
453 * FIXME
454 * No documentation found.
457 /***********************************************************************
458 * ACMCHOOSEFORMAT (MSACM.203)
459 * FIXME
460 * No documentation found.