⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rasabslay.cpp

📁 VC编写的VPN拨号软件源码 搜索了好久才找到
💻 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 + -