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

📄 rasconnection.h

📁 这是一个完整的无线通讯工程
💻 H
字号:
/********************************************************************

    filename    :   E:\myjob\WirelessDebug\RasConnection.h
    purpose     :   control ras conneciton and get connection status
    version     :   1.0
    author      :   Jeffrey_Zhang
    created     :	2005/11/15 9:54
    modifyinfo  :   

*********************************************************************/



#ifndef __RAS_CONNECTION__
#define __RAS_CONNECTION__

//#include "StdAfx.h"
#include <ras.h>
#include <raserror.h>

#pragma comment(lib,"rasapi32.lib")

#define WM_RAS_OPENED	WM_USER+801
#define WM_RAS_CONNECT	WM_USER+802
#define WM_RAS_CONNECTED	WM_USER+803
#define WM_RAS_AUTHNOTIFY	WM_USER+804
#define WM_RAS_PASS		WM_USER+805
#define WM_RAS_ERROR	WM_USER+806
#define WM_RAS_OPEN		WM_USER+807
#define WM_RAS_OK		WM_USER+808

#define WM_DIALUP_DLG_ERROR		WM_USER+9999
#define WM_DIALUP_DLG_DIALUP	WM_USER+9998
#define WM_DIALUP_DLG_HANGUP	WM_USER+9997
#define WM_DIALUP_DLG_HANGUP_OK WM_USER+9996
#define WM_DIALUP_DLG_HWND		WM_USER+9995
#define	WM_CONNECTION_AUTO_OFF	WM_USER+9994


typedef struct _RAS_STATS 
{
  DWORD   dwSize;
  DWORD   dwBytesXmited;
  DWORD   dwBytesRcved;
  DWORD   dwFramesXmited;
  DWORD   dwFramesRcved;
  DWORD   dwCrcErr;
  DWORD   dwTimeoutErr;
  DWORD   dwAlignmentErr;
  DWORD   dwHardwareOverrunErr;
  DWORD   dwFramingErr;
  DWORD   dwBufferOverrunErr;
  DWORD   dwCompressionRatioIn;
  DWORD   dwCompressionRatioOut;
  DWORD   dwBps;
  DWORD   dwConnectDuration;
} RAS_STATS, *PRAS_STATS;

struct RAS_STATUS
{
	CString strLinkName;
	CString strSpeed;
	CString strDuration;
	CString strRevBytes;
	CString strRevComp;
	CString strRevFrames;
	CString strSendBytes;
	CString strSendComp;
	CString strSendFrames;
	DWORD	dwDuration;
	DWORD	dwRevBytes;
	DWORD	dwSendBytes;
};

class CRasConnection
{
public:
	//construct & Destruction
	CRasConnection();
	~CRasConnection();


public:
	//public Interface
	BOOL	RasDialupEx(const char* pchLinkName,
					 const char* pchModemID,
					 const char* pchSevNomber = _T("#777"),
					 const char* pchUserName = _T("card"),
					 const char* pchPassWord = _T("card"));

	BOOL	RasHangUpEx();

	BOOL	GetRasStatus(RAS_STATUS* prasStatus, const char* szModeName=NULL);

	BOOL	CheckConnectionStatus();
	void	Destroy();
	BOOL	m_BConnected;
	HWND	m_hMsghwnd;
	BOOL	InitializeRasInterface();
	CString m_strErrorInfo;
	void	Test();
private:

	//BOOL	CreateRasDail()

	//RasGetConnectionStatistics
	typedef DWORD (WINAPI *lpfnDllFuncRGCS)(HRASCONN hRasConn,
									RAS_STATS *lpStatistics);
	//RasEnumConnections
	typedef DWORD (WINAPI *lpfnDllFuncRENCS)(LPRASCONN lprasconn, 
									LPDWORD lpcb, 
									LPDWORD lpcConnections);

	static	VOID WINAPI RasDialFunc(UINT unMsg, 
									RASCONNSTATE rasconnstate,
									DWORD dwError);
	
	static UINT ThreadHangup(LPVOID lpvoid);

	lpfnDllFuncRGCS lpfnDllFuncConnstat;
	lpfnDllFuncRENCS lpfnDllFuncEnumConn;

	LPRASDEVINFO	m_lpRasDevInfo;
	HINSTANCE		m_hDLLib;
	HRASCONN		m_rasconn;
	CWinThread*		m_pThread;
	CString			m_strLinkName;
};

#endif  //end define __RAS_CONNECTION__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -