[TAPI32]
[reactos.git] / reactos / dll / win32 / tapi32 / phone.c
1 /*
2 * TAPI32 phone services
3 *
4 * Copyright 1999 Andreas Mohr
5 *
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.
10 *
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.
15 *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 #define WIN32_NO_STATUS
22 #define _INC_WINDOWS
23 #define COM_NO_WINDOWS_H
24
25 #include <stdarg.h>
26
27 #include <windef.h>
28 #include <winbase.h>
29 #include <objbase.h>
30 #include <tapi.h>
31 #include <wine/debug.h>
32
33 /*
34 * Additional TSPI functions:
35 * - voiceGetHandles
36 * - TSPI_ProviderInit
37 * - TSPI_ProviderShutdown
38 * - TSPI_ProviderEnumDevices
39 * - TSPI_ProviderConfig
40 */
41 WINE_DEFAULT_DEBUG_CHANNEL(tapi);
42
43 /***********************************************************************
44 * phoneClose (TAPI32.@)
45 */
46 DWORD WINAPI phoneClose(HPHONE hPhone)
47 {
48 FIXME("(%p), stub.\n", hPhone);
49 /* call TSPI function here ! */
50 return 0;
51 }
52
53 /***********************************************************************
54 * phoneConfigDialog (TAPI32.@)
55 */
56 DWORD WINAPI phoneConfigDialogA(DWORD dwDeviceID, HWND hwndOwner, LPCSTR lpszDeviceClass)
57 {
58 FIXME("(%08x, %p, %s): stub.\n", dwDeviceID, hwndOwner, lpszDeviceClass);
59 return 0;
60 }
61
62 /***********************************************************************
63 * phoneDevSpecific (TAPI32.@)
64 */
65 DWORD WINAPI phoneDevSpecific(HPHONE hPhone, LPVOID lpParams, DWORD dwSize)
66 {
67 FIXME("(%p, %p, %d): stub.\n", hPhone, lpParams, dwSize);
68 return 1;
69 }
70
71 /***********************************************************************
72 * phoneGetButtonInfo (TAPI32.@)
73 */
74 DWORD WINAPI phoneGetButtonInfoA(HPHONE hPhone, DWORD dwButtonLampID,
75 LPPHONEBUTTONINFO lpButtonInfo)
76 {
77 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpButtonInfo);
78 return 0;
79 }
80
81 /***********************************************************************
82 * phoneGetData (TAPI32.@)
83 */
84 DWORD WINAPI phoneGetData(HPHONE hPhone, DWORD dwDataID, LPVOID lpData, DWORD dwSize)
85 {
86 FIXME("(%p, %08x, %p, %d): stub.\n", hPhone, dwDataID, lpData, dwSize);
87 return 0;
88 }
89
90 /***********************************************************************
91 * phoneGetDevCaps (TAPI32.@)
92 */
93 DWORD WINAPI phoneGetDevCapsA(HPHONEAPP hPhoneApp, DWORD dwDeviceID,
94 DWORD dwAPIVersion, DWORD dwExtVersion, LPPHONECAPS lpPhoneCaps)
95 {
96 FIXME("(%p, %08x, %08x, %08x, %p): stub.\n", hPhoneApp, dwDeviceID, dwAPIVersion, dwExtVersion, lpPhoneCaps);
97 /* call TSPI function here ! */
98 return 0;
99 }
100
101 /***********************************************************************
102 * phoneGetDisplay (TAPI32.@)
103 */
104 DWORD WINAPI phoneGetDisplay(HPHONE hPhone, LPVARSTRING lpDisplay)
105 {
106 FIXME("(%p, %p): stub.\n", hPhone, lpDisplay);
107 return 0;
108 }
109
110 /***********************************************************************
111 * phoneGetGain (TAPI32.@)
112 */
113 DWORD WINAPI phoneGetGain(HPHONE hPhone, DWORD dwHookSwitchDev, LPDWORD lpdwGain)
114 {
115 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwHookSwitchDev, lpdwGain);
116 /* call TSPI function here ! */
117 return 0;
118 }
119
120 /***********************************************************************
121 * phoneGetHookSwitch (TAPI32.@)
122 */
123 DWORD WINAPI phoneGetHookSwitch(HPHONE hPhone, LPDWORD lpdwHookSwitchDevs)
124 {
125 FIXME("(%p, %p): stub.\n", hPhone, lpdwHookSwitchDevs);
126 /* call TSPI function here ! */
127 return 0;
128 }
129
130 /***********************************************************************
131 * phoneGetID (TAPI32.@)
132 */
133 DWORD WINAPI phoneGetIDA(HPHONE hPhone, LPVARSTRING lpDeviceID,
134 LPCSTR lpszDeviceClass)
135 {
136 FIXME("(%p, %p, %s): stub.\n", hPhone, lpDeviceID, lpszDeviceClass);
137 /* call TSPI function here ! */
138 return 0;
139 }
140
141 /***********************************************************************
142 * phoneGetIcon (TAPI32.@)
143 */
144 DWORD WINAPI phoneGetIconA(DWORD dwDeviceID, LPCSTR lpszDeviceClass,
145 HICON *lphIcon)
146 {
147 FIXME("(%08x, %s, %p): stub.\n", dwDeviceID, lpszDeviceClass, lphIcon);
148 /* call TSPI function here ! */
149 return 0;
150 }
151
152 /***********************************************************************
153 * phoneGetLamp (TAPI32.@)
154 */
155 DWORD WINAPI phoneGetLamp(HPHONE hPhone, DWORD dwButtonLampID,
156 LPDWORD lpdwLampMode)
157 {
158 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpdwLampMode);
159 return 0;
160 }
161
162 /***********************************************************************
163 * phoneGetMessage (TAPI32.@)
164 */
165 DWORD WINAPI phoneGetMessage(HPHONEAPP hPhoneApp, LPPHONEMESSAGE lpMessage, DWORD dwTimeout)
166 {
167 FIXME("(%p, %p, %08x): stub.\n", hPhoneApp, lpMessage, dwTimeout);
168 return 0;
169 }
170
171 /***********************************************************************
172 * phoneGetRing (TAPI32.@)
173 */
174 DWORD WINAPI phoneGetRing(HPHONE hPhone, LPDWORD lpdwRingMode, LPDWORD lpdwVolume)
175 {
176 FIXME("(%p, %p, %p): stub.\n", hPhone, lpdwRingMode, lpdwVolume);
177 return 0;
178 }
179
180 /***********************************************************************
181 * phoneGetStatus (TAPI32.@)
182 */
183 DWORD WINAPI phoneGetStatusA(HPHONE hPhone, LPPHONESTATUS lpPhoneStatus)
184 {
185 FIXME("(%p, %p): stub.\n", hPhone, lpPhoneStatus);
186 /* call TSPI function here ! */
187 return 0;
188 }
189
190 /***********************************************************************
191 * phoneGetStatusMessages (TAPI32.@)
192 */
193 DWORD WINAPI phoneGetStatusMessages(HPHONE hPhone, LPDWORD lpdwPhoneStates,
194 LPDWORD lpdwButtonModes, LPDWORD lpdwButtonStates)
195 {
196 FIXME("(%p, %p, %p, %p): stub.\n", hPhone, lpdwPhoneStates, lpdwButtonModes, lpdwButtonStates);
197 return 0;
198 }
199
200 /***********************************************************************
201 * phoneGetVolume (TAPI32.@)
202 */
203 DWORD WINAPI phoneGetVolume(HPHONE hPhone, DWORD dwHookSwitchDevs,
204 LPDWORD lpdwVolume)
205 {
206 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwHookSwitchDevs, lpdwVolume);
207 /* call TSPI function here ! */
208 return 0;
209 }
210
211 /***********************************************************************
212 * phoneInitialize (TAPI32.@)
213 */
214 DWORD WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs)
215 {
216 FIXME("(%p, %p, %p, %s, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, lpszAppName, lpdwNumDevs);
217 return 0;
218 }
219
220 /***********************************************************************
221 * phoneInitializeiExA (TAPI32.@)
222 */
223 DWORD WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams)
224 {
225 FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, lpszAppName, lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams);
226 *lpdwNumDevs = 0;
227 return 0;
228 }
229
230 /***********************************************************************
231 * phoneInitializeiExW (TAPI32.@)
232 */
233 DWORD WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCWSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams)
234 {
235 FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, debugstr_w(lpszAppName), lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams);
236 *lpdwNumDevs = 0;
237 return 0;
238 }
239
240 /***********************************************************************
241 * phoneNegotiateAPIVersion (TAPI32.@)
242 */
243 DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP hPhoneApp, DWORD dwDeviceID, DWORD dwAPILowVersion, DWORD dwAPIHighVersion, LPDWORD lpdwAPIVersion, LPPHONEEXTENSIONID lpExtensionID)
244 {
245 FIXME("(): stub.\n");
246 return 0;
247 }
248
249 /***********************************************************************
250 * phoneNegotiateExtVersion (TAPI32.@)
251 */
252 DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP hPhoneApp, DWORD dwDeviceID,
253 DWORD dwAPIVersion, DWORD dwExtLowVersion,
254 DWORD dwExtHighVersion, LPDWORD lpdwExtVersion)
255 {
256 FIXME("(): stub.\n");
257 /* call TSPI function here ! */
258 return 0;
259 }
260
261 /***********************************************************************
262 * phoneOpen (TAPI32.@)
263 */
264 DWORD WINAPI phoneOpen(HPHONEAPP hPhoneApp, DWORD dwDeviceID, LPHPHONE lphPhone, DWORD dwAPIVersion, DWORD dwExtVersion, DWORD dwCallbackInstance, DWORD dwPrivileges)
265 {
266 FIXME("(): stub.\n");
267 /* call TSPI function here ! */
268 return 0;
269 }
270
271 /***********************************************************************
272 * phoneSetButtonInfo (TAPI32.@)
273 */
274 DWORD WINAPI phoneSetButtonInfoA(HPHONE hPhone, DWORD dwButtonLampID, LPPHONEBUTTONINFO lpButtonInfo)
275 {
276 FIXME("(%p, %08x, %p): stub.\n", hPhone, dwButtonLampID, lpButtonInfo);
277 return 0;
278 }
279
280 /***********************************************************************
281 * phoneSetData (TAPI32.@)
282 */
283 DWORD WINAPI phoneSetData(HPHONE hPhone, DWORD dwDataID, LPVOID lpData, DWORD dwSize)
284 {
285 FIXME("(%p, %08x, %p, %d): stub.\n", hPhone, dwDataID, lpData, dwSize);
286 return 1;
287 }
288
289 /***********************************************************************
290 * phoneSetDisplay (TAPI32.@)
291 */
292 DWORD WINAPI phoneSetDisplay(HPHONE hPhone, DWORD dwRow, DWORD dwColumn, LPCSTR lpszDisplay, DWORD dwSize)
293 {
294 FIXME("(%p, '%s' at %d/%d, len %d): stub.\n", hPhone, lpszDisplay, dwRow, dwColumn, dwSize);
295 return 1;
296 }
297
298 /***********************************************************************
299 * phoneSetGain (TAPI32.@)
300 */
301 DWORD WINAPI phoneSetGain(HPHONE hPhone, DWORD dwHookSwitchDev, DWORD dwGain)
302 {
303 FIXME("(%p, %08x, %d): stub.\n", hPhone, dwHookSwitchDev, dwGain);
304 /* call TSPI function here ! */
305 return 1;
306 }
307
308 /***********************************************************************
309 * phoneSetHookSwitch (TAPI32.@)
310 */
311 DWORD WINAPI phoneSetHookSwitch(HPHONE hPhone, DWORD dwHookSwitchDevs, DWORD dwHookSwitchMode)
312 {
313 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwHookSwitchDevs, dwHookSwitchMode);
314 /* call TSPI function here ! */
315 return 1;
316 }
317
318 /***********************************************************************
319 * phoneSetLamp (TAPI32.@)
320 */
321 DWORD WINAPI phoneSetLamp(HPHONE hPhone, DWORD dwButtonLampID, DWORD lpdwLampMode)
322 {
323 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwButtonLampID, lpdwLampMode);
324 return 1;
325 }
326
327 /***********************************************************************
328 * phoneSetRing (TAPI32.@)
329 */
330 DWORD WINAPI phoneSetRing(HPHONE hPhone, DWORD dwRingMode, DWORD dwVolume)
331 {
332 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwRingMode, dwVolume);
333 return 1;
334 }
335
336 /***********************************************************************
337 * phoneSetStatusMessages (TAPI32.@)
338 */
339 DWORD WINAPI phoneSetStatusMessages(HPHONE hPhone, DWORD dwPhoneStates, DWORD dwButtonModes, DWORD dwButtonStates)
340 {
341 FIXME("(%p, %08x, %08x, %08x): stub.\n", hPhone, dwPhoneStates, dwButtonModes, dwButtonStates);
342 /* call TSPI function here ! */
343 return 0; /* FIXME ? */
344 }
345
346 /***********************************************************************
347 * phoneSetVolume (TAPI32.@)
348 */
349 DWORD WINAPI phoneSetVolume(HPHONE hPhone, DWORD dwHookSwitchDev, DWORD dwVolume)
350 {
351 FIXME("(%p, %08x, %08x): stub.\n", hPhone, dwHookSwitchDev, dwVolume);
352 /* call TSPI function here ! */
353 return 1;
354 }
355
356 /***********************************************************************
357 * phoneShutdown (TAPI32.@)
358 */
359 DWORD WINAPI phoneShutdown(HPHONEAPP hPhoneApp)
360 {
361 FIXME("(%p): stub.\n", hPhoneApp);
362 return 0;
363 }