Use iphlpapi to implement SIO_GET_INTERFACE_LIST in WSAIoctl, and
[wine.git] / dlls / msacm / msacm_main.c
blob1d1d017e8c98348f766f60f6cbc9b8a4b91cdcbe
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 "winbase.h"
22 #include "winerror.h"
23 #include "mmsystem.h"
24 #include "msacm.h"
25 #include "msacmdrv.h"
26 #include "wineacm.h"
27 #include "wine/debug.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(msacm);
31 /**************************************************************************
32 * DllEntryPoint (MSACM.255)
34 * MSACM DLL entry point
37 BOOL WINAPI MSACM_DllEntryPoint(DWORD fdwReason, HINSTANCE16 hinstDLL, WORD ds,
38 WORD wHeapSize, DWORD dwReserved1, WORD wReserved2)
40 static HANDLE hndl;
42 TRACE("0x%x 0x%lx\n", hinstDLL, fdwReason);
44 switch (fdwReason) {
45 case DLL_PROCESS_ATTACH:
46 if (!hndl && !(hndl = LoadLibraryA("MSACM32.DLL"))) {
47 ERR("Could not load sibling MsAcm32.dll\n");
48 return FALSE;
50 break;
51 case DLL_PROCESS_DETACH:
52 FreeLibrary(hndl);
53 hndl = 0;
54 break;
55 case DLL_THREAD_ATTACH:
56 case DLL_THREAD_DETACH:
57 break;
59 return TRUE;
62 /***********************************************************************
63 * acmGetVersion (MSACM.7)
65 DWORD WINAPI acmGetVersion16(void)
67 return acmGetVersion();
70 /***********************************************************************
71 * acmMetrics (MSACM.8)
74 MMRESULT16 WINAPI acmMetrics16(
75 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric)
77 FIXME("(0x%04x, %d, %p): semi-stub\n", hao, uMetric, pMetric);
79 if(!hao) return acmMetrics(0, uMetric, pMetric);
80 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
81 return MMSYSERR_ERROR;
84 /***********************************************************************
85 * acmDriverEnum (MSACM.10)
87 MMRESULT16 WINAPI acmDriverEnum16(
88 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
90 FIXME("(%p, %ld, %ld): stub\n",
91 fnCallback, dwInstance, fdwEnum
93 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
94 return MMSYSERR_ERROR;
97 /***********************************************************************
98 * acmDriverDetails (MSACM.11)
101 MMRESULT16 WINAPI acmDriverDetails16(
102 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails)
104 FIXME("(0x%04x, %p, %ld): stub\n", hadid, padd, fdwDetails);
105 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
106 return MMSYSERR_ERROR;
109 /***********************************************************************
110 * acmDriverAdd (MSACM.12)
112 MMRESULT16 WINAPI acmDriverAdd16(
113 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
114 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
116 FIXME("(%p, 0x%04x, %ld, %ld, %ld): stub\n",
117 phadid, hinstModule, lParam, dwPriority, fdwAdd
119 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
120 return MMSYSERR_ERROR;
123 /***********************************************************************
124 * acmDriverRemove (MSACM.13)
126 MMRESULT16 WINAPI acmDriverRemove16(
127 HACMDRIVERID16 hadid, DWORD fdwRemove)
129 FIXME("(0x%04x, %ld): stub\n", hadid, fdwRemove);
130 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
131 return MMSYSERR_ERROR;
134 /***********************************************************************
135 * acmDriverOpen (MSACM.14)
137 MMRESULT16 WINAPI acmDriverOpen16(
138 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen)
140 FIXME("(%p, 0x%04x, %ld): stub\n", phad, hadid, fdwOpen);
141 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
142 return MMSYSERR_ERROR;
145 /***********************************************************************
146 * acmDriverClose (MSACM.15)
148 MMRESULT16 WINAPI acmDriverClose16(
149 HACMDRIVER16 had, DWORD fdwClose)
151 FIXME("(0x%04x, %ld): stub\n", had, fdwClose);
152 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
153 return MMSYSERR_ERROR;
156 /***********************************************************************
157 * acmDriverMessage (MSACM.16)
159 LRESULT WINAPI acmDriverMessage16(
160 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2)
162 FIXME("(0x%04x, %d, %ld, %ld): stub\n",
163 had, uMsg, lParam1, lParam2
165 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
166 return 0;
169 /***********************************************************************
170 * acmDriverID (MSACM.17)
172 MMRESULT16 WINAPI acmDriverID16(
173 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID)
175 FIXME("(0x%04x, %p, %ld): stub\n", hao, phadid, fdwDriverID);
176 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
177 return MMSYSERR_ERROR;
180 /***********************************************************************
181 * acmDriverPriority (MSACM.18)
183 MMRESULT16 WINAPI acmDriverPriority16(
184 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority)
186 FIXME("(0x%04x, %ld, %ld): stub\n",
187 hadid, dwPriority, fdwPriority
189 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
190 return MMSYSERR_ERROR;
193 /***********************************************************************
194 * acmFormatTagDetails (MSACM.30)
196 MMRESULT16 WINAPI acmFormatTagDetails16(
197 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails)
199 FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
200 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
201 return MMSYSERR_ERROR;
204 /***********************************************************************
205 * acmFormatTagEnum (MSACM.31)
207 MMRESULT16 WINAPI acmFormatTagEnum16(
208 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
209 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
211 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
212 had, paftd, fnCallback, dwInstance, fdwEnum
214 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
215 return MMSYSERR_ERROR;
218 /***********************************************************************
219 * acmFormatChoose (MSACM.40)
221 MMRESULT16 WINAPI acmFormatChoose16(
222 LPACMFORMATCHOOSE16 pafmtc)
224 FIXME("(%p): stub\n", pafmtc);
225 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
226 return MMSYSERR_ERROR;
229 /***********************************************************************
230 * acmFormatDetails (MSACM.41)
232 MMRESULT16 WINAPI acmFormatDetails16(
233 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails)
235 FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
236 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
237 return MMSYSERR_ERROR;
240 /***********************************************************************
241 * acmFormatEnum (MSACM.42)
243 MMRESULT16 WINAPI acmFormatEnum16(
244 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
245 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
247 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
248 had, pafd, fnCallback, dwInstance, fdwEnum
250 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
251 return MMSYSERR_ERROR;
254 /***********************************************************************
255 * acmFormatSuggest (MSACM.45)
257 MMRESULT16 WINAPI acmFormatSuggest16(
258 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
259 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest)
261 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
262 had, pwfxSrc, pwfxDst, cbwfxDst, fdwSuggest
264 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
265 return MMSYSERR_ERROR;
268 /***********************************************************************
269 * acmFilterTagDetails (MSACM.50)
271 MMRESULT16 WINAPI acmFilterTagDetails16(
272 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails)
274 FIXME("(0x%04x, %p, %ld): stub\n", had, paftd, fdwDetails);
275 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
276 return MMSYSERR_ERROR;
279 /***********************************************************************
280 * acmFilterTagEnum (MSACM.51)
282 MMRESULT16 WINAPI acmFilterTagEnum16(
283 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
284 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
286 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
287 had, paftd, fnCallback, dwInstance, fdwEnum
289 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
290 return MMSYSERR_ERROR;
293 /***********************************************************************
294 * acmFilterChoose (MSACM.60)
296 MMRESULT16 WINAPI acmFilterChoose16(
297 LPACMFILTERCHOOSE16 pafltrc)
299 FIXME("(%p): stub\n", pafltrc);
300 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
301 return MMSYSERR_ERROR;
304 /***********************************************************************
305 * acmFilterDetails (MSACM.61)
307 MMRESULT16 WINAPI acmFilterDetails16(
308 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails)
310 FIXME("(0x%04x, %p, %ld): stub\n", had, pafd, fdwDetails);
311 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
312 return MMSYSERR_ERROR;
315 /***********************************************************************
316 * acmFilterEnum (MSACM.62)
318 MMRESULT16 WINAPI acmFilterEnum16(
319 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
320 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum)
322 FIXME("(0x%04x, %p, %p, %ld, %ld): stub\n",
323 had, pafd, fnCallback, dwInstance, fdwEnum
325 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
326 return MMSYSERR_ERROR;
329 /***********************************************************************
330 * acmStreamOpen (MSACM.70)
332 MMRESULT16 WINAPI acmStreamOpen16(
333 LPHACMSTREAM16 phas, HACMDRIVER16 had,
334 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
335 LPWAVEFILTER pwfltr, DWORD dwCallback,
336 DWORD dwInstance, DWORD fdwOpen)
338 FIXME("(%p, 0x%04x, %p, %p, %p, %ld, %ld, %ld): stub\n",
339 phas, had, pwfxSrc, pwfxDst, pwfltr,
340 dwCallback, dwInstance, fdwOpen
342 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
343 return MMSYSERR_ERROR;
346 /***********************************************************************
347 * acmStreamClose (MSACM.71)
349 MMRESULT16 WINAPI acmStreamClose16(
350 HACMSTREAM16 has, DWORD fdwClose)
352 FIXME("(0x%04x, %ld): stub\n", has, fdwClose);
353 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
354 return MMSYSERR_ERROR;
357 /***********************************************************************
358 * acmStreamSize (MSACM.72)
360 MMRESULT16 WINAPI acmStreamSize16(
361 HACMSTREAM16 has, DWORD cbInput,
362 LPDWORD pdwOutputBytes, DWORD fdwSize)
364 FIXME("(0x%04x, %ld, %p, %ld): stub\n",
365 has, cbInput, pdwOutputBytes, fdwSize
367 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
368 return MMSYSERR_ERROR;
371 /***********************************************************************
372 * acmStreamConvert (MSACM.75)
374 MMRESULT16 WINAPI acmStreamConvert16(
375 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert)
377 FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwConvert);
378 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
379 return MMSYSERR_ERROR;
382 /***********************************************************************
383 * acmStreamReset (MSACM.76)
385 MMRESULT16 WINAPI acmStreamReset16(
386 HACMSTREAM16 has, DWORD fdwReset)
388 FIXME("(0x%04x, %ld): stub\n", has, fdwReset);
389 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
390 return MMSYSERR_ERROR;
393 /***********************************************************************
394 * acmStreamPrepareHeader (MSACM.77)
396 MMRESULT16 WINAPI acmStreamPrepareHeader16(
397 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare)
399 FIXME("(0x%04x, %p, %ld): stub\n", has, pash, fdwPrepare);
400 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
401 return MMSYSERR_ERROR;
404 /***********************************************************************
405 * acmStreamUnprepareHeader (MSACM.78)
407 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
408 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare)
410 FIXME("(0x%04x, %p, %ld): stub\n",
411 has, pash, fdwUnprepare
413 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
414 return MMSYSERR_ERROR;
417 /***********************************************************************
418 * ACMAPPLICATIONEXIT (MSACM.150)
419 * FIXME
420 * No documentation found.
423 /***********************************************************************
424 * ACMHUGEPAGELOCK (MSACM.175)
425 *FIXME
426 * No documentation found.
429 /***********************************************************************
430 * ACMHUGEPAGEUNLOCK (MSACM.176)
431 * FIXME
432 * No documentation found.
435 /***********************************************************************
436 * ACMOPENCONVERSION (MSACM.200)
437 * FIXME
438 * No documentation found.
441 /***********************************************************************
442 * ACMCLOSECONVERSION (MSACM.201)
443 * FIXME
444 * No documentation found.
447 /***********************************************************************
448 * ACMCONVERT (MSACM.202)
449 * FIXME
450 * No documentation found.
453 /***********************************************************************
454 * ACMCHOOSEFORMAT (MSACM.203)
455 * FIXME
456 * No documentation found.