rasapi32: Added some more tests for RasEnumDevicesA, fix Wine not to crash on the...
[wine/multimedia.git] / dlls / rasapi32 / rasapi.c
blobf14694aefe24ffd0eca06dd775872434508d4ea3
1 /*
2 * RASAPI32
4 * Copyright 1998,2001 Marcus Meissner
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
25 #include "ras.h"
26 #include "wine/debug.h"
28 WINE_DEFAULT_DEBUG_CHANNEL(ras);
30 DWORD WINAPI RasConnectionNotificationA(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
32 FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
33 return 1;
36 DWORD WINAPI RasConnectionNotificationW(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
38 FIXME("(%p,%p,0x%08x),stub!\n",hrasconn,hEvent,dwFlags);
39 return 1;
42 DWORD WINAPI RasCreatePhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook)
44 FIXME("(%p,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook));
45 return 0;
48 DWORD WINAPI RasCreatePhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook)
50 FIXME("(%p,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook));
51 return 0;
54 DWORD WINAPI RasDeleteSubEntryA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntryId)
56 FIXME("(%s,%s,0x%08x),stub!\n",debugstr_a(lpszPhonebook),
57 debugstr_a(lpszEntry),dwSubEntryId);
58 return 0;
61 DWORD WINAPI RasDeleteSubEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntryId)
63 FIXME("(%s,%s,0x%08x),stub!\n",debugstr_w(lpszPhonebook),
64 debugstr_w(lpszEntry),dwSubEntryId);
65 return 0;
68 DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCSTR lpszPhonebook,
69 LPRASDIALPARAMSA lpRasDialParams, DWORD dwNotifierType,
70 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
72 FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_a(lpszPhonebook),
73 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
74 return 1;
77 DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCWSTR lpszPhonebook,
78 LPRASDIALPARAMSW lpRasDialParams, DWORD dwNotifierType,
79 LPVOID lpvNotifier, LPHRASCONN lphRasConn)
81 FIXME("(%p,%s,%p,0x%08x,%p,%p),stub!\n",lpRasDialExtensions,debugstr_w(lpszPhonebook),
82 lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
83 return 1;
86 DWORD WINAPI RasEditPhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook, LPCSTR lpszEntryName)
88 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook),debugstr_a(lpszEntryName));
89 return 0;
92 DWORD WINAPI RasEditPhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName)
94 FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook),debugstr_w(lpszEntryName));
95 return 0;
98 /**************************************************************************
99 * RasEnumConnectionsA [RASAPI32.544]
101 DWORD WINAPI RasEnumConnectionsA( LPRASCONNA rca, LPDWORD lpcb, LPDWORD lpcConnections) {
102 /* Remote Access Service stuff is done by underlying OS anyway */
103 FIXME("(%p,%p,%p),stub!\n",rca,lpcb,lpcConnections);
104 FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
105 *lpcb = 0; /* size of buffer needed to enumerate connections */
106 *lpcConnections = 0; /* no RAS connections available */
108 return 0;
111 /**************************************************************************
112 * RasEnumConnectionsW [RASAPI32.545]
114 DWORD WINAPI RasEnumConnectionsW( LPRASCONNW rcw, LPDWORD lpcb, LPDWORD lpcConnections) {
115 /* Remote Access Service stuff is done by underlying OS anyway */
116 FIXME("(%p,%p,%p),stub!\n",rcw,lpcb,lpcConnections);
117 FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
118 *lpcb = 0; /* size of buffer needed to enumerate connections */
119 *lpcConnections = 0; /* no RAS connections available */
121 return 0;
124 /**************************************************************************
125 * RasEnumEntriesA [RASAPI32.546]
127 DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
128 LPRASENTRYNAMEA lpRasEntryName,
129 LPDWORD lpcb, LPDWORD lpcEntries)
131 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
132 lpRasEntryName,lpcb,lpcEntries);
133 *lpcEntries = 0;
134 return 0;
137 /**************************************************************************
138 * RasEnumEntriesW [RASAPI32.547]
140 DWORD WINAPI RasEnumEntriesW( LPCWSTR Reserved, LPCWSTR lpszPhoneBook,
141 LPRASENTRYNAMEW lpRasEntryName,
142 LPDWORD lpcb, LPDWORD lpcEntries)
144 FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_w(lpszPhoneBook),
145 lpRasEntryName,lpcb,lpcEntries);
146 *lpcEntries = 0;
147 return 0;
150 DWORD WINAPI RasGetConnectStatusA(HRASCONN hrasconn, LPRASCONNSTATUSA lprasconnstatus)
152 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
153 return 0;
156 DWORD WINAPI RasGetConnectStatusW(HRASCONN hrasconn, LPRASCONNSTATUSW lprasconnstatus)
158 FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
159 return 0;
162 /**************************************************************************
163 * RasGetEntryDialParamsA [RASAPI32.550]
165 DWORD WINAPI RasGetEntryDialParamsA(
166 LPCSTR lpszPhoneBook, LPRASDIALPARAMSA lpRasDialParams,
167 LPBOOL lpfPassword)
169 FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
170 lpRasDialParams,lpfPassword);
171 return 0;
174 /**************************************************************************
175 * RasGetEntryDialParamsW [RASAPI32.551]
177 DWORD WINAPI RasGetEntryDialParamsW(
178 LPCWSTR lpszPhoneBook, LPRASDIALPARAMSW lpRasDialParams,
179 LPBOOL lpfPassword)
181 FIXME("(%s,%p,%p),stub!\n",debugstr_w(lpszPhoneBook),
182 lpRasDialParams,lpfPassword);
183 return 0;
186 /**************************************************************************
187 * RasHangUpA [RASAPI32.556]
189 DWORD WINAPI RasHangUpA( HRASCONN hrasconn)
191 FIXME("(%p),stub!\n",hrasconn);
192 return 0;
195 /**************************************************************************
196 * RasHangUpW [RASAPI32.557]
198 DWORD WINAPI RasHangUpW(HRASCONN hrasconn)
200 FIXME("(%p),stub!\n",hrasconn);
201 return 0;
204 /**************************************************************************
205 * RasDeleteEntryA [RASAPI32.7]
207 DWORD WINAPI RasDeleteEntryA(LPCSTR a, LPCSTR b)
209 FIXME("(%s,%s),stub!\n",debugstr_a(a),debugstr_a(b));
210 return 0;
213 /**************************************************************************
214 * RasDeleteEntryW [RASAPI32.8]
216 DWORD WINAPI RasDeleteEntryW(LPCWSTR a, LPCWSTR b)
218 FIXME("(%s,%s),stub!\n",debugstr_w(a),debugstr_w(b));
219 return 0;
222 /**************************************************************************
223 * RasEnumAutodialAddressesA [RASAPI32.14]
225 DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *a, LPDWORD b, LPDWORD c)
227 FIXME("(%p,%p,%p),stub!\n",a,b,c);
228 return 0;
231 /**************************************************************************
232 * RasEnumAutodialAddressesW [RASAPI32.15]
234 DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
236 FIXME("(%p,%p,%p),stub!\n",a,b,c);
237 return 0;
240 /**************************************************************************
241 * RasEnumDevicesA [RASAPI32.19]
243 * Just return a virtual modem too see what other APIs programs will
244 * call with it.
246 DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
248 if (!lpcb || !lpcDevices)
249 return ERROR_INVALID_PARAMETER;
251 FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
252 if (!lpRasDevinfo || (*lpcb < sizeof(RASDEVINFOA))) {
253 *lpcb = sizeof(RASDEVINFOA);
254 return ERROR_BUFFER_TOO_SMALL;
256 /* honor dwSize ? */
257 strcpy(lpRasDevinfo->szDeviceType, RASDT_Modem);
258 strcpy(lpRasDevinfo->szDeviceName, "WINE virtmodem");
259 return 0;
262 /**************************************************************************
263 * RasEnumDevicesW [RASAPI32.20]
265 DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW a, LPDWORD b, LPDWORD c)
267 FIXME("(%p,%p,%p),stub!\n",a,b,c);
268 return 0;
271 /**************************************************************************
272 * RasGetAutodialAddressA [RASAPI32.24]
274 DWORD WINAPI RasGetAutodialAddressA(LPCSTR a, LPDWORD b, LPRASAUTODIALENTRYA c,
275 LPDWORD d, LPDWORD e)
277 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_a(a),b,c,d,e);
278 return 0;
281 /**************************************************************************
282 * RasGetAutodialAddressW [RASAPI32.25]
284 DWORD WINAPI RasGetAutodialAddressW(LPCWSTR a, LPDWORD b, LPRASAUTODIALENTRYW c,
285 LPDWORD d, LPDWORD e)
287 FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_w(a),b,c,d,e);
288 return 0;
291 /**************************************************************************
292 * RasGetAutodialEnableA [RASAPI32.26]
294 DWORD WINAPI RasGetAutodialEnableA(DWORD a, LPBOOL b)
296 FIXME("(%x,%p),stub!\n",a,b);
297 return 0;
300 /**************************************************************************
301 * RasGetAutodialEnableW [RASAPI32.27]
303 DWORD WINAPI RasGetAutodialEnableW(DWORD a, LPBOOL b)
305 FIXME("(%x,%p),stub!\n",a,b);
306 return 0;
309 /**************************************************************************
310 * RasGetAutodialParamA [RASAPI32.28]
312 DWORD WINAPI RasGetAutodialParamA(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
314 FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
315 return 0;
318 /**************************************************************************
319 * RasGetAutodialParamW [RASAPI32.29]
321 DWORD WINAPI RasGetAutodialParamW(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
323 FIXME("(%x,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
324 return 0;
327 /**************************************************************************
328 * RasSetAutodialAddressA [RASAPI32.57]
330 DWORD WINAPI RasSetAutodialAddressA(LPCSTR a, DWORD b, LPRASAUTODIALENTRYA c,
331 DWORD d, DWORD e)
333 FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_a(a),b,c,d,e);
334 return 0;
337 /**************************************************************************
338 * RasSetAutodialAddressW [RASAPI32.58]
340 DWORD WINAPI RasSetAutodialAddressW(LPCWSTR a, DWORD b, LPRASAUTODIALENTRYW c,
341 DWORD d, DWORD e)
343 FIXME("(%s,%x,%p,%x,%x),stub!\n",debugstr_w(a),b,c,d,e);
344 return 0;
347 /**************************************************************************
348 * RasSetAutodialEnableA [RASAPI32.59]
350 DWORD WINAPI RasSetAutodialEnableA(DWORD dwDialingLocation, BOOL fEnabled)
352 FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
353 return 0;
356 /**************************************************************************
357 * RasSetAutodialEnableW [RASAPI32.60]
359 DWORD WINAPI RasSetAutodialEnableW(DWORD dwDialingLocation, BOOL fEnabled)
361 FIXME("(%x,%x),stub!\n",dwDialingLocation,fEnabled);
362 return 0;
365 /**************************************************************************
366 * RasSetAutodialParamA [RASAPI32.61]
368 DWORD WINAPI RasSetAutodialParamA(DWORD a, LPVOID b, DWORD c)
370 FIXME("(%x,%p,%x),stub!\n",a,b,c);
371 return 0;
374 /**************************************************************************
375 * RasSetAutodialParamW [RASAPI32.62]
377 DWORD WINAPI RasSetAutodialParamW(DWORD a, LPVOID b, DWORD c)
379 FIXME("(%x,%p,%x),stub!\n",a,b,c);
380 return 0;
383 /**************************************************************************
384 * RasSetEntryPropertiesA [RASAPI32.67]
386 DWORD WINAPI RasSetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry,
387 LPRASENTRYA lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
388 DWORD dwDeviceInfoSize
390 FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
391 debugstr_a(lpszPhonebook),debugstr_a(lpszEntry),
392 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
394 FIXME("Rasentry:\n");
395 FIXME("\tdwfOptions %x\n",lpRasEntry->dwfOptions);
396 FIXME("\tszLocalPhoneNumber %s\n",debugstr_a(lpRasEntry->szLocalPhoneNumber));
397 return 0;
400 /**************************************************************************
401 * RasSetEntryPropertiesW [RASAPI32.68]
403 DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry,
404 LPRASENTRYW lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
405 DWORD dwDeviceInfoSize
407 FIXME("(%s,%s,%p,%d,%p,%d), stub!\n",
408 debugstr_w(lpszPhonebook),debugstr_w(lpszEntry),
409 lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
411 return 0;
414 /**************************************************************************
415 * RasValidateEntryNameA [RASAPI32.72]
417 DWORD WINAPI RasValidateEntryNameA(LPCSTR lpszPhonebook, LPCSTR lpszEntry) {
418 FIXME("(%s,%s), stub!\n",debugstr_a(lpszPhonebook),debugstr_a(lpszEntry));
419 return 0;
422 /**************************************************************************
423 * RasValidateEntryNameW [RASAPI32.73]
425 DWORD WINAPI RasValidateEntryNameW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry) {
426 FIXME("(%s,%s), stub!\n",debugstr_w(lpszPhonebook),debugstr_w(lpszEntry));
427 return 0;
430 /**************************************************************************
431 * RasGetEntryPropertiesA [RASAPI32.@]
433 DWORD WINAPI RasGetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, LPRASENTRYA lpRasEntry,
434 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
436 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszEntry), lpRasEntry,
437 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
438 return 0;
441 /**************************************************************************
442 * RasGetEntryPropertiesW [RASAPI32.@]
444 DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LPRASENTRYW lpRasEntry,
445 LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
447 FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszEntry), lpRasEntry,
448 lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
449 return 0;
452 DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
454 FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
455 return 1;
458 DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
460 FIXME("(0x%08x,%p,0x%08x), stub!\n", uErrorValue, lpszErrorString, cBufSize);
461 return 1;
464 DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
465 LPVOID lpprojection, LPDWORD lpcb)
467 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
468 return 1;
471 DWORD WINAPI RasGetProjectionInfoW(HRASCONN hrasconn, RASPROJECTION rasprojection,
472 LPVOID lpprojection, LPDWORD lpcb)
474 FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
475 return 1;
478 DWORD WINAPI RasRenameEntryA(LPCSTR lpszPhonebook, LPCSTR lpszOldEntry, LPCSTR lpszNewEntry)
480 FIXME("(%s,%s,%s), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszOldEntry),
481 debugstr_a(lpszNewEntry));
482 return 0;
485 DWORD WINAPI RasRenameEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszOldEntry, LPCWSTR lpszNewEntry)
487 FIXME("(%s,%s,%s), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszOldEntry),
488 debugstr_w(lpszNewEntry));
489 return 0;
492 DWORD WINAPI RasSetEntryDialParamsA(LPCSTR lpszPhonebook, LPRASDIALPARAMSA lprasdialparams,
493 BOOL fRemovePassword)
495 FIXME("(%s,%p,0x%x), stub!\n", debugstr_a(lpszPhonebook), lprasdialparams, fRemovePassword);
496 return 0;
499 DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR lpszPhonebook, LPRASDIALPARAMSW lprasdialparams,
500 BOOL fRemovePassword)
502 FIXME("(%s,%p,0x%x), stub!\n", debugstr_w(lpszPhonebook), lprasdialparams, fRemovePassword);
503 return 0;
506 DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntry,
507 LPRASSUBENTRYA lpRasSubEntry, DWORD dwcbRasSubEntry,
508 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
510 FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_a(lpszPhonebook),
511 debugstr_a(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
512 dwcbDeviceConfig);
513 return 0;
516 DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntry,
517 LPRASSUBENTRYW lpRasSubEntry, DWORD dwcbRasSubEntry,
518 LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
520 FIXME("(%s,%s,0x%08x,%p,0x%08x,%p,0x%08x), stub!\n", debugstr_w(lpszPhonebook),
521 debugstr_w(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
522 dwcbDeviceConfig);
523 return 0;