📄 rasabslay.cpp
字号:
//
// RAS Abstraction Layer
//
// This class contains all the phone entry managment and dialup functions
//
//
//
#include "stdafx.h"
#include "rasabslay.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//
// Inits an RASIPADDR struc
//
/////////////////////////////////////////////////////////////////////////////
// CRasAbsLay
CRasAbsLay::CRasAbsLay()
{
}
CRasAbsLay::~CRasAbsLay()
{
}
//
// Creates a PhoneBook Entry in the diaulp network
//
//
// RAS object
//
typedef DWORD (CALLBACK* RASSETENTRYDIALPARAMSPROC)(LPCTSTR lpszPhonebook, LPRASDIALPARAMS lprasdialparams,
BOOL fRemovePassword);
typedef DWORD (CALLBACK* RASSETENTRYPROPERTIESPROC)(LPCTSTR lpszPhonebook, LPCTSTR lpszEntry, LPRASENTRY lpRasEntry,
DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo, DWORD dwDeviceInfoSize);
typedef DWORD (CALLBACK* RASVALIDATEENTRYNAMEPROC)(LPCTSTR lpszPhonebook, LPCTSTR lpszEntry);
typedef DWORD (CALLBACK* RASENUMDEVICESPROC)(LPRASDEVINFO lpRasDevInfo, LPDWORD lpcb, LPDWORD lpcDevices);
//
//
//
DWORD CRas::RasSetEntryDialParams(LPCTSTR lpszPhonebook, LPRASDIALPARAMS lprasdialparams,
BOOL fRemovePassword)
{
RASSETENTRYDIALPARAMSPROC proc;
proc = (RASSETENTRYDIALPARAMSPROC)GetProcAddress(m_hRasLib, TEXT("RasSetEntryDialParamsA"));
if (!proc)
return 0;
return (*proc)(lpszPhonebook, lprasdialparams, fRemovePassword);
}
DWORD CRas::RasSetEntryProperties(LPCTSTR lpszPhonebook, LPCTSTR lpszEntry, LPRASENTRY lpRasEntry,
DWORD dwEntryInfoSize, LPBYTE lpbDeviceInfo, DWORD dwDeviceInfoSize)
{
RASSETENTRYPROPERTIESPROC proc;
proc = (RASSETENTRYPROPERTIESPROC)GetProcAddress(m_hRasLib, TEXT("RasSetEntryPropertiesA"));
if (!proc)
return 1;
return (*proc)(lpszPhonebook, lpszEntry, lpRasEntry, dwEntryInfoSize,
lpbDeviceInfo, dwDeviceInfoSize);
}
DWORD CRas::RasValidateEntryName(LPCTSTR lpszPhonebook, LPCTSTR lpszEntry)
{
RASVALIDATEENTRYNAMEPROC proc;
proc = (RASVALIDATEENTRYNAMEPROC )GetProcAddress(m_hRasLib, TEXT("RasValidateEntryNameA"));
if (!proc)
return 1;
return (*proc)(lpszPhonebook, lpszEntry);
}
DWORD CRas::RasEnumDevices(LPRASDEVINFO lpRasDevInfo, LPDWORD lpcb, LPDWORD lpcDevices)
{
RASENUMDEVICESPROC proc;
if (!m_hRasLib)
return 1;
proc = (RASENUMDEVICESPROC)GetProcAddress(m_hRasLib, TEXT("RasEnumDevicesA"));
if (!proc)
return 1;
return (*proc)(lpRasDevInfo, lpcb, lpcDevices);
}
CRas::CRas()
{
LoadLibrary();
}
CRas::~CRas()
{
ReleaseLibrary();
}
BOOL CRas::LoadLibrary()
{
m_hRasLib = ::LoadLibrary(TEXT("rasapi32.dll"));
return TRUE;
}
BOOL CRas::ReleaseLibrary()
{
if (m_hRasLib)
FreeLibrary(m_hRasLib);
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -