Fixed some more missing WINAPIs (hopefully correct).
[wine] / dlls / msacm32 / format.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  *           acmFormatChooseA (MSACM32.23)
17  */
18 MMRESULT32 WINAPI acmFormatChoose32A(
19   PACMFORMATCHOOSE32A pafmtc)
20 {
21   FIXME(msacm, "(%p): stub\n", pafmtc);
22   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
23   return MMSYSERR_ERROR;
24 }
25
26 /***********************************************************************
27  *           acmFormatChooseW (MSACM32.24)
28  */
29 MMRESULT32 WINAPI acmFormatChoose32W(
30   PACMFORMATCHOOSE32W pafmtc)
31 {
32   FIXME(msacm, "(%p): stub\n", pafmtc);
33   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
34   return MMSYSERR_ERROR;
35 }
36
37 /***********************************************************************
38  *           acmFormatDetailsA (MSACM32.25)
39  */
40 MMRESULT32 WINAPI acmFormatDetails32A(
41   HACMDRIVER32 had, PACMFORMATDETAILS32A pafd, DWORD fdwDetails)
42 {
43   if(fdwDetails & ~(ACM_FORMATDETAILSF_FORMAT))
44     return MMSYSERR_INVALFLAG;
45
46   /* FIXME
47    *   How does the driver know if the ANSI or
48    *   the UNICODE variant of PACMFORMATDETAILS is used?
49    *   It might check cbStruct or does it only accept ANSI.
50    */
51   return (MMRESULT32) acmDriverMessage32(
52     had, ACMDM_FORMAT_DETAILS,
53     (LPARAM) pafd,  (LPARAM) fdwDetails
54   );
55 }
56
57 /***********************************************************************
58  *           acmFormatDetailsW (MSACM32.26)
59  */
60 MMRESULT32 WINAPI acmFormatDetails32W(
61   HACMDRIVER32 had, PACMFORMATDETAILS32W 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  *           acmFormatEnumA (MSACM32.27)
70  */
71 MMRESULT32 WINAPI acmFormatEnum32A(
72   HACMDRIVER32 had, PACMFORMATDETAILS32A pafd,
73   ACMFORMATENUMCB32A 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  *           acmFormatEnumW (MSACM32.28)
84  */
85 MMRESULT32 WINAPI acmFormatEnum32W(
86   HACMDRIVER32 had, PACMFORMATDETAILS32W pafd,
87   ACMFORMATENUMCB32W 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  *           acmFormatSuggest (MSACM32.29)
98  */
99 MMRESULT32 WINAPI acmFormatSuggest32(
100   HACMDRIVER32 had, PWAVEFORMATEX32 pwfxSrc, PWAVEFORMATEX32 pwfxDst,
101   DWORD cbwfxDst, DWORD fdwSuggest)
102 {
103   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
104     had, pwfxSrc, pwfxDst, cbwfxDst, fdwSuggest
105   );
106   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
107   return MMSYSERR_ERROR;
108 }
109
110 /***********************************************************************
111  *           acmFormatTagDetailsA (MSACM32.30)
112  */
113 MMRESULT32 WINAPI acmFormatTagDetails32A(
114   HACMDRIVER32 had, PACMFORMATTAGDETAILS32A paftd, DWORD fdwDetails)
115 {
116   if(fdwDetails & 
117      ~(ACM_FORMATTAGDETAILSF_FORMATTAG|ACM_FORMATTAGDETAILSF_LARGESTSIZE))
118     return MMSYSERR_INVALFLAG;
119
120   /* FIXME
121    *   How does the driver know if the ANSI or
122    *   the UNICODE variant of PACMFORMATTAGDETAILS is used?
123    *   It might check cbStruct or does it only accept ANSI.
124    */
125   return (MMRESULT32) acmDriverMessage32(
126     had, ACMDM_FORMATTAG_DETAILS,
127     (LPARAM) paftd,  (LPARAM) fdwDetails
128   );
129 }
130
131 /***********************************************************************
132  *           acmFormatTagDetailsW (MSACM32.31)
133  */
134 MMRESULT32 WINAPI acmFormatTagDetails32W(
135   HACMDRIVER32 had, PACMFORMATTAGDETAILS32W paftd, DWORD fdwDetails)
136 {
137   FIXME(msacm, "(0x%08x, %p, %ld): stub\n", had, paftd, fdwDetails);
138   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
139   return MMSYSERR_ERROR;
140 }
141
142 /***********************************************************************
143  *           acmFormatTagEnumA (MSACM32.32)
144  */
145 MMRESULT32 WINAPI acmFormatTagEnum32A(
146   HACMDRIVER32 had, PACMFORMATTAGDETAILS32A paftd,
147   ACMFORMATTAGENUMCB32A fnCallback, DWORD dwInstance, DWORD fdwEnum)
148 {
149   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
150     had, paftd, fnCallback, dwInstance, fdwEnum
151   ); 
152   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
153   return MMSYSERR_ERROR;
154 }
155
156 /***********************************************************************
157  *           acmFormatTagEnumW (MSACM32.33)
158  */
159 MMRESULT32 WINAPI acmFormatTagEnum32W(
160   HACMDRIVER32 had, PACMFORMATTAGDETAILS32W paftd,
161   ACMFORMATTAGENUMCB32W fnCallback, DWORD dwInstance, DWORD fdwEnum)
162 {
163   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
164     had, paftd, fnCallback, dwInstance, fdwEnum
165   ); 
166   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
167   return MMSYSERR_ERROR;
168 }