wine/dlls/rasapi32/rasapi.c

520 lines
17 KiB
C
Raw Normal View History

1998-12-11 13:26:26 +00:00
/*
* RASAPI32
2002-05-31 23:06:46 +00:00
*
* Copyright 1998,2001 Marcus Meissner
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
1998-12-11 13:26:26 +00:00
*/
#include <stdarg.h>
1999-03-14 16:35:05 +00:00
#include "windef.h"
#include "winbase.h"
1998-12-11 13:26:26 +00:00
#include "ras.h"
#include "wine/debug.h"
1998-12-11 13:26:26 +00:00
WINE_DEFAULT_DEBUG_CHANNEL(ras);
DWORD WINAPI RasConnectionNotificationA(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
{
FIXME("(%p,%p,0x%08lx),stub!\n",hrasconn,hEvent,dwFlags);
return 1;
}
DWORD WINAPI RasConnectionNotificationW(HRASCONN hrasconn, HANDLE hEvent, DWORD dwFlags)
{
FIXME("(%p,%p,0x%08lx),stub!\n",hrasconn,hEvent,dwFlags);
return 1;
}
DWORD WINAPI RasCreatePhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook)
{
FIXME("(%p,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook));
return 0;
}
DWORD WINAPI RasCreatePhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook)
{
FIXME("(%p,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook));
return 0;
}
DWORD WINAPI RasDeleteSubEntryA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntryId)
{
FIXME("(%s,%s,0x%08lx),stub!\n",debugstr_a(lpszPhonebook),
debugstr_a(lpszEntry),dwSubEntryId);
return 0;
}
DWORD WINAPI RasDeleteSubEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntryId)
{
FIXME("(%s,%s,0x%08lx),stub!\n",debugstr_w(lpszPhonebook),
debugstr_w(lpszEntry),dwSubEntryId);
return 0;
}
DWORD WINAPI RasDialA(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCSTR lpszPhonebook,
LPRASDIALPARAMSA lpRasDialParams, DWORD dwNotifierType,
LPVOID lpvNotifier, LPHRASCONN lphRasConn)
{
FIXME("(%p,%s,%p,0x%08lx,%p,%p),stub!\n",lpRasDialExtensions,debugstr_a(lpszPhonebook),
lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
return 1;
}
DWORD WINAPI RasDialW(LPRASDIALEXTENSIONS lpRasDialExtensions, LPCWSTR lpszPhonebook,
LPRASDIALPARAMSW lpRasDialParams, DWORD dwNotifierType,
LPVOID lpvNotifier, LPHRASCONN lphRasConn)
{
FIXME("(%p,%s,%p,0x%08lx,%p,%p),stub!\n",lpRasDialExtensions,debugstr_w(lpszPhonebook),
lpRasDialParams,dwNotifierType,lpvNotifier,lphRasConn);
return 1;
}
DWORD WINAPI RasEditPhonebookEntryA(HWND hwnd, LPCSTR lpszPhonebook, LPCSTR lpszEntryName)
{
FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_a(lpszPhonebook),debugstr_a(lpszEntryName));
return 0;
}
DWORD WINAPI RasEditPhonebookEntryW(HWND hwnd, LPCWSTR lpszPhonebook, LPCWSTR lpszEntryName)
{
FIXME("(%p,%s,%s),stub!\n",hwnd,debugstr_w(lpszPhonebook),debugstr_w(lpszEntryName));
return 0;
}
1998-12-11 13:26:26 +00:00
/**************************************************************************
* RasEnumConnectionsA [RASAPI32.544]
1998-12-11 13:26:26 +00:00
*/
DWORD WINAPI RasEnumConnectionsA( LPRASCONNA rca, LPDWORD lpcb, LPDWORD lpcConnections) {
1998-12-11 13:26:26 +00:00
/* Remote Access Service stuff is done by underlying OS anyway */
FIXME("(%p,%p,%p),stub!\n",rca,lpcb,lpcConnections);
FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
*lpcConnections = 0; /* no RAS connections available */
2002-05-31 23:06:46 +00:00
1998-12-11 13:26:26 +00:00
return 0;
}
2002-11-04 22:38:45 +00:00
/**************************************************************************
* RasEnumConnectionsW [RASAPI32.545]
*/
DWORD WINAPI RasEnumConnectionsW( LPRASCONNW rcw, LPDWORD lpcb, LPDWORD lpcConnections) {
/* Remote Access Service stuff is done by underlying OS anyway */
FIXME("(%p,%p,%p),stub!\n",rcw,lpcb,lpcConnections);
FIXME("RAS support is not implemented! Configure program to use LAN connection/winsock instead!\n");
2002-11-04 22:38:45 +00:00
*lpcConnections = 0; /* no RAS connections available */
return 0;
}
/**************************************************************************
* RasEnumEntriesA [RASAPI32.546]
*/
DWORD WINAPI RasEnumEntriesA( LPCSTR Reserved, LPCSTR lpszPhoneBook,
2002-05-31 23:06:46 +00:00
LPRASENTRYNAMEA lpRasEntryName,
LPDWORD lpcb, LPDWORD lpcEntries)
{
FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_a(lpszPhoneBook),
lpRasEntryName,lpcb,lpcEntries);
*lpcEntries = 0;
return 0;
}
2003-05-11 02:41:18 +00:00
/**************************************************************************
* RasEnumEntriesW [RASAPI32.547]
*/
DWORD WINAPI RasEnumEntriesW( LPCWSTR Reserved, LPCWSTR lpszPhoneBook,
LPRASENTRYNAMEW lpRasEntryName,
LPDWORD lpcb, LPDWORD lpcEntries)
{
FIXME("(%p,%s,%p,%p,%p),stub!\n",Reserved,debugstr_w(lpszPhoneBook),
lpRasEntryName,lpcb,lpcEntries);
*lpcEntries = 0;
return 0;
}
DWORD WINAPI RasGetConnectStatusA(HRASCONN hrasconn, LPRASCONNSTATUSA lprasconnstatus)
{
FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
return 0;
}
DWORD WINAPI RasGetConnectStatusW(HRASCONN hrasconn, LPRASCONNSTATUSW lprasconnstatus)
{
FIXME("(%p,%p),stub!\n",hrasconn,lprasconnstatus);
return 0;
}
2003-05-11 02:41:18 +00:00
/**************************************************************************
* RasGetEntryDialParamsA [RASAPI32.550]
*/
DWORD WINAPI RasGetEntryDialParamsA(
LPCSTR lpszPhoneBook, LPRASDIALPARAMSA lpRasDialParams,
LPBOOL lpfPassword)
{
FIXME("(%s,%p,%p),stub!\n",debugstr_a(lpszPhoneBook),
lpRasDialParams,lpfPassword);
return 0;
}
2000-07-23 13:32:57 +00:00
/**************************************************************************
* RasGetEntryDialParamsW [RASAPI32.551]
*/
DWORD WINAPI RasGetEntryDialParamsW(
LPCWSTR lpszPhoneBook, LPRASDIALPARAMSW lpRasDialParams,
LPBOOL lpfPassword)
{
FIXME("(%s,%p,%p),stub!\n",debugstr_w(lpszPhoneBook),
lpRasDialParams,lpfPassword);
return 0;
}
2000-07-23 13:32:57 +00:00
/**************************************************************************
* RasHangUpA [RASAPI32.556]
*/
DWORD WINAPI RasHangUpA( HRASCONN hrasconn)
{
FIXME("(%p),stub!\n",hrasconn);
2000-07-23 13:32:57 +00:00
return 0;
}
2001-07-11 17:25:03 +00:00
/**************************************************************************
* RasHangUpW [RASAPI32.557]
*/
DWORD WINAPI RasHangUpW(HRASCONN hrasconn)
{
FIXME("(%p),stub!\n",hrasconn);
return 0;
}
2001-07-11 17:25:03 +00:00
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasDeleteEntryA [RASAPI32.7]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasDeleteEntryA(LPCSTR a, LPCSTR b)
{
FIXME("(%s,%s),stub!\n",debugstr_a(a),debugstr_a(b));
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasDeleteEntryW [RASAPI32.8]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasDeleteEntryW(LPCWSTR a, LPCWSTR b)
{
FIXME("(%s,%s),stub!\n",debugstr_w(a),debugstr_w(b));
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasEnumAutodialAddressesA [RASAPI32.14]
2001-07-11 17:25:03 +00:00
*/
2005-06-27 09:49:48 +00:00
DWORD WINAPI RasEnumAutodialAddressesA(LPSTR *a, LPDWORD b, LPDWORD c)
2001-07-11 17:25:03 +00:00
{
FIXME("(%p,%p,%p),stub!\n",a,b,c);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasEnumAutodialAddressesW [RASAPI32.15]
2001-07-11 17:25:03 +00:00
*/
2005-06-27 09:49:48 +00:00
DWORD WINAPI RasEnumAutodialAddressesW(LPWSTR *a, LPDWORD b, LPDWORD c)
2001-07-11 17:25:03 +00:00
{
FIXME("(%p,%p,%p),stub!\n",a,b,c);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasEnumDevicesA [RASAPI32.19]
*
* Just return a virtual modem too see what other APIs programs will
* call with it.
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD lpcDevices)
2001-07-11 17:25:03 +00:00
{
FIXME("(%p,%p,%p),stub!\n",lpRasDevinfo,lpcb,lpcDevices);
if (*lpcb < sizeof(RASDEVINFOA)) {
*lpcb = sizeof(RASDEVINFOA);
return ERROR_BUFFER_TOO_SMALL;
}
/* honor dwSize ? */
strcpy(lpRasDevinfo->szDeviceType, RASDT_Modem);
strcpy(lpRasDevinfo->szDeviceName, "WINE virtmodem");
2001-07-11 17:25:03 +00:00
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasEnumDevicesW [RASAPI32.20]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasEnumDevicesW(LPRASDEVINFOW a, LPDWORD b, LPDWORD c)
{
FIXME("(%p,%p,%p),stub!\n",a,b,c);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialAddressA [RASAPI32.24]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialAddressA(LPCSTR a, LPDWORD b, LPRASAUTODIALENTRYA c,
LPDWORD d, LPDWORD e)
{
FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_a(a),b,c,d,e);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialAddressW [RASAPI32.25]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialAddressW(LPCWSTR a, LPDWORD b, LPRASAUTODIALENTRYW c,
LPDWORD d, LPDWORD e)
{
FIXME("(%s,%p,%p,%p,%p),stub!\n",debugstr_w(a),b,c,d,e);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialEnableA [RASAPI32.26]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialEnableA(DWORD a, LPBOOL b)
{
FIXME("(%lx,%p),stub!\n",a,b);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialEnableW [RASAPI32.27]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialEnableW(DWORD a, LPBOOL b)
{
FIXME("(%lx,%p),stub!\n",a,b);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialParamA [RASAPI32.28]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialParamA(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
2001-07-11 17:25:03 +00:00
{
FIXME("(%lx,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
2001-07-11 17:25:03 +00:00
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasGetAutodialParamW [RASAPI32.29]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasGetAutodialParamW(DWORD dwKey, LPVOID lpvValue, LPDWORD lpdwcbValue)
2001-07-11 17:25:03 +00:00
{
FIXME("(%lx,%p,%p),stub!\n",dwKey,lpvValue,lpdwcbValue);
2001-07-11 17:25:03 +00:00
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialAddressA [RASAPI32.57]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialAddressA(LPCSTR a, DWORD b, LPRASAUTODIALENTRYA c,
DWORD d, DWORD e)
{
FIXME("(%s,%lx,%p,%lx,%lx),stub!\n",debugstr_a(a),b,c,d,e);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialAddressW [RASAPI32.58]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialAddressW(LPCWSTR a, DWORD b, LPRASAUTODIALENTRYW c,
DWORD d, DWORD e)
{
FIXME("(%s,%lx,%p,%lx,%lx),stub!\n",debugstr_w(a),b,c,d,e);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialEnableA [RASAPI32.59]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialEnableA(DWORD dwDialingLocation, BOOL fEnabled)
2001-07-11 17:25:03 +00:00
{
FIXME("(%lx,%x),stub!\n",dwDialingLocation,fEnabled);
2001-07-11 17:25:03 +00:00
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialEnableW [RASAPI32.60]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialEnableW(DWORD dwDialingLocation, BOOL fEnabled)
2001-07-11 17:25:03 +00:00
{
FIXME("(%lx,%x),stub!\n",dwDialingLocation,fEnabled);
2001-07-11 17:25:03 +00:00
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialParamA [RASAPI32.61]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialParamA(DWORD a, LPVOID b, DWORD c)
{
FIXME("(%lx,%p,%lx),stub!\n",a,b,c);
return 0;
}
/**************************************************************************
2001-07-12 22:33:51 +00:00
* RasSetAutodialParamW [RASAPI32.62]
2001-07-11 17:25:03 +00:00
*/
DWORD WINAPI RasSetAutodialParamW(DWORD a, LPVOID b, DWORD c)
{
FIXME("(%lx,%p,%lx),stub!\n",a,b,c);
return 0;
}
2002-11-06 19:52:48 +00:00
/**************************************************************************
* RasSetEntryPropertiesA [RASAPI32.67]
*/
DWORD WINAPI RasSetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry,
LPRASENTRYA lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
DWORD dwDeviceInfoSize
) {
FIXME("(%s,%s,%p,%ld,%p,%ld), stub!\n",
debugstr_a(lpszPhonebook),debugstr_a(lpszEntry),
lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
);
FIXME("Rasentry:\n");
FIXME("\tdwfOptions %lx\n",lpRasEntry->dwfOptions);
FIXME("\tszLocalPhoneNumber %s\n",debugstr_a(lpRasEntry->szLocalPhoneNumber));
return 0;
}
/**************************************************************************
* RasSetEntryPropertiesW [RASAPI32.68]
*/
DWORD WINAPI RasSetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry,
LPRASENTRYW lpRasEntry, DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo,
DWORD dwDeviceInfoSize
) {
FIXME("(%s,%s,%p,%ld,%p,%ld), stub!\n",
debugstr_w(lpszPhonebook),debugstr_w(lpszEntry),
lpRasEntry,dwEntryInfoSize,lpbDeviceInfo,dwDeviceInfoSize
);
return 0;
}
2002-11-06 19:52:48 +00:00
/**************************************************************************
* RasValidateEntryNameA [RASAPI32.72]
*/
DWORD WINAPI RasValidateEntryNameA(LPCSTR lpszPhonebook, LPCSTR lpszEntry) {
FIXME("(%s,%s), stub!\n",debugstr_a(lpszPhonebook),debugstr_a(lpszEntry));
return 0;
}
/**************************************************************************
* RasValidateEntryNameW [RASAPI32.73]
*/
DWORD WINAPI RasValidateEntryNameW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry) {
FIXME("(%s,%s), stub!\n",debugstr_w(lpszPhonebook),debugstr_w(lpszEntry));
2002-11-06 19:52:48 +00:00
return 0;
}
2004-03-02 06:44:03 +00:00
/**************************************************************************
* RasGetEntryPropertiesA [RASAPI32.@]
*/
DWORD WINAPI RasGetEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, LPRASENTRYA lpRasEntry,
LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
) {
FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszEntry), lpRasEntry,
lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
2004-03-02 06:44:03 +00:00
return 0;
}
/**************************************************************************
* RasGetEntryPropertiesW [RASAPI32.@]
*/
DWORD WINAPI RasGetEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, LPRASENTRYW lpRasEntry,
LPDWORD lpdwEntryInfoSize, LPBYTE lpbDeviceInfo, LPDWORD lpdwDeviceInfoSize
) {
FIXME("(%s,%s,%p,%p,%p,%p), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszEntry), lpRasEntry,
lpdwEntryInfoSize, lpbDeviceInfo, lpdwDeviceInfoSize);
return 0;
}
DWORD WINAPI RasGetErrorStringA(UINT uErrorValue, LPSTR lpszErrorString, DWORD cBufSize)
{
FIXME("(0x%08x,%p,0x%08lx), stub!\n", uErrorValue, lpszErrorString, cBufSize);
return 1;
}
DWORD WINAPI RasGetErrorStringW(UINT uErrorValue, LPWSTR lpszErrorString, DWORD cBufSize)
{
FIXME("(0x%08x,%p,0x%08lx), stub!\n", uErrorValue, lpszErrorString, cBufSize);
return 1;
}
DWORD WINAPI RasGetProjectionInfoA(HRASCONN hrasconn, RASPROJECTION rasprojection,
LPVOID lpprojection, LPDWORD lpcb)
{
FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
return 1;
}
DWORD WINAPI RasGetProjectionInfoW(HRASCONN hrasconn, RASPROJECTION rasprojection,
LPVOID lpprojection, LPDWORD lpcb)
{
FIXME("(%p,0x%08x,%p,%p), stub!\n", hrasconn, rasprojection, lpprojection, lpcb);
return 1;
}
DWORD WINAPI RasRenameEntryA(LPCSTR lpszPhonebook, LPCSTR lpszOldEntry, LPCSTR lpszNewEntry)
{
FIXME("(%s,%s,%s), stub!\n", debugstr_a(lpszPhonebook), debugstr_a(lpszOldEntry),
debugstr_a(lpszNewEntry));
return 0;
}
DWORD WINAPI RasRenameEntryW(LPCWSTR lpszPhonebook, LPCWSTR lpszOldEntry, LPCWSTR lpszNewEntry)
{
FIXME("(%s,%s,%s), stub!\n", debugstr_w(lpszPhonebook), debugstr_w(lpszOldEntry),
debugstr_w(lpszNewEntry));
return 0;
}
DWORD WINAPI RasSetEntryDialParamsA(LPCSTR lpszPhonebook, LPRASDIALPARAMSA lprasdialparams,
BOOL fRemovePassword)
{
FIXME("(%s,%p,0x%x), stub!\n", debugstr_a(lpszPhonebook), lprasdialparams, fRemovePassword);
return 0;
}
DWORD WINAPI RasSetEntryDialParamsW(LPCWSTR lpszPhonebook, LPRASDIALPARAMSW lprasdialparams,
BOOL fRemovePassword)
{
FIXME("(%s,%p,0x%x), stub!\n", debugstr_w(lpszPhonebook), lprasdialparams, fRemovePassword);
return 0;
}
DWORD WINAPI RasSetSubEntryPropertiesA(LPCSTR lpszPhonebook, LPCSTR lpszEntry, DWORD dwSubEntry,
LPRASSUBENTRYA lpRasSubEntry, DWORD dwcbRasSubEntry,
LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
{
FIXME("(%s,%s,0x%08lx,%p,0x%08lx,%p,0x%08lx), stub!\n", debugstr_a(lpszPhonebook),
debugstr_a(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
dwcbDeviceConfig);
return 0;
}
DWORD WINAPI RasSetSubEntryPropertiesW(LPCWSTR lpszPhonebook, LPCWSTR lpszEntry, DWORD dwSubEntry,
LPRASSUBENTRYW lpRasSubEntry, DWORD dwcbRasSubEntry,
LPBYTE lpbDeviceConfig, DWORD dwcbDeviceConfig)
{
FIXME("(%s,%s,0x%08lx,%p,0x%08lx,%p,0x%08lx), stub!\n", debugstr_w(lpszPhonebook),
debugstr_w(lpszEntry), dwSubEntry, lpRasSubEntry, dwcbRasSubEntry, lpbDeviceConfig,
dwcbDeviceConfig);
return 0;
}