Fixed some more missing WINAPIs (hopefully correct).
[wine] / dlls / msacm32 / filter.c
1 /*
2  *      MSACM32 library
3  *
4  *      Copyright 1998  Patrik Stridvall
5  */
6
7 #include "windows.h"
8 #include "winerror.h"
9 #include "wintypes.h"
10 #include "debug.h"
11 #include "mmsystem.h"
12 #include "msacm.h"
13 #include "msacmdrv.h"
14
15 /***********************************************************************
16  *           acmFilterChooseA (MSACM32.13)
17  */
18 MMRESULT32 WINAPI acmFilterChoose32A(
19   PACMFILTERCHOOSE32A pafltrc)
20 {
21   FIXME(msacm, "(%p): stub\n", pafltrc);
22   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
23   return MMSYSERR_ERROR;
24 }
25
26 /***********************************************************************
27  *           acmFilterChooseW (MSACM32.14)
28  */
29 MMRESULT32 WINAPI acmFilterChoose32W(
30   PACMFILTERCHOOSE32W pafltrc)
31 {
32   FIXME(msacm, "(%p): stub\n", pafltrc);
33   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
34   return MMSYSERR_ERROR;
35 }
36
37 /***********************************************************************
38  *           acmFilterDetailsA (MSACM32.15)
39  */
40 MMRESULT32 WINAPI acmFilterDetails32A(
41   HACMDRIVER32 had, PACMFILTERDETAILS32A pafd, DWORD fdwDetails)
42 {
43   if(fdwDetails & ~(ACM_FILTERDETAILSF_FILTER))
44     return MMSYSERR_INVALFLAG;
45
46   /* FIXME
47    *   How does the driver know if the ANSI or
48    *   the UNICODE variant of PACMFILTERDETAILS is used?
49    *   It might check cbStruct or does it only accept ANSI.
50    */
51   return (MMRESULT32) acmDriverMessage32(
52     had, ACMDM_FILTER_DETAILS,
53     (LPARAM) pafd,  (LPARAM) fdwDetails
54   );
55 }
56
57 /***********************************************************************
58  *           acmFilterDetailsW (MSACM32.16)
59  */
60 MMRESULT32 WINAPI acmFilterDetails32W(
61   HACMDRIVER32 had, PACMFILTERDETAILS32W pafd, DWORD fdwDetails)
62 {
63   FIXME(msacm, "(0x%08x, %p, %ld): stub\n", had, pafd, fdwDetails);
64   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
65   return MMSYSERR_ERROR;
66 }
67
68 /***********************************************************************
69  *           acmFilterEnumA (MSACM32.17)
70  */
71 MMRESULT32 WINAPI acmFilterEnum32A(
72   HACMDRIVER32 had, PACMFILTERDETAILS32A pafd, 
73   ACMFILTERENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum)
74 {
75   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
76     had, pafd, fnCallback, dwInstance, fdwEnum
77   );
78   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
79   return MMSYSERR_ERROR;
80 }
81
82 /***********************************************************************
83  *           acmFilterEnumW (MSACM32.18)
84  */
85 MMRESULT32 WINAPI acmFilterEnum32W(
86   HACMDRIVER32 had, PACMFILTERDETAILS32W pafd, 
87   ACMFILTERENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum)
88 {
89   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
90     had, pafd, fnCallback, dwInstance, fdwEnum
91   );
92   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
93   return MMSYSERR_ERROR;
94 }
95
96 /***********************************************************************
97  *           acmFilterTagDetailsA (MSACM32.19)
98  */
99 MMRESULT32 WINAPI acmFilterTagDetails32A(
100   HACMDRIVER32 had, PACMFILTERTAGDETAILS32A paftd, DWORD fdwDetails)
101 {
102   if(fdwDetails & 
103      ~(ACM_FILTERTAGDETAILSF_FILTERTAG|
104        ACM_FILTERTAGDETAILSF_LARGESTSIZE))
105     return MMSYSERR_INVALFLAG;
106
107   /* FIXME
108    *   How does the driver know if the ANSI or
109    *   the UNICODE variant of PACMFILTERTAGDETAILS is used?
110    *   It might check cbStruct or does it only accept ANSI.
111    */
112   return (MMRESULT32) acmDriverMessage32(
113     had, ACMDM_FILTERTAG_DETAILS,
114     (LPARAM) paftd,  (LPARAM) fdwDetails
115   );
116 }
117
118 /***********************************************************************
119  *           acmFilterTagDetailsW (MSACM32.20)
120  */
121 MMRESULT32 WINAPI acmFilterTagDetails32W(
122   HACMDRIVER32 had, PACMFILTERTAGDETAILS32W paftd, DWORD fdwDetails)
123 {
124   FIXME(msacm, "(0x%08x, %p, %ld): stub\n", had, paftd, fdwDetails);
125   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
126   return MMSYSERR_ERROR;
127 }
128
129 /***********************************************************************
130  *           acmFilterTagEnumA (MSACM32.21)
131  */
132 MMRESULT32 WINAPI acmFilterTagEnum32A(
133   HACMDRIVER32 had, PACMFILTERTAGDETAILS32A  paftd,
134   ACMFILTERTAGENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum)
135 {
136   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
137     had, paftd, fnCallback, dwInstance, fdwEnum
138   );
139   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
140   return MMSYSERR_ERROR;
141 }
142
143 /***********************************************************************
144  *           acmFilterTagEnumW (MSACM32.22)
145  */
146 MMRESULT32 WINAPI acmFilterTagEnum32W(
147   HACMDRIVER32 had, PACMFILTERTAGDETAILS32W paftd,
148   ACMFILTERTAGENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum)
149 {
150   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
151     had, paftd, fnCallback, dwInstance, fdwEnum
152   );
153   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
154   return MMSYSERR_ERROR;
155 }