📄 rasconnection.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 + -