亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ras.cpp

?? 遠程撥號示例程序
?? CPP
字號:
// Ras.cpp: implementation of the CRas class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "RasDial.h"
#include "Ras.h"
#include "RasDialDlg.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

HANDLE m_gEvent[2];
DWORD g_dwError;
CString str;

#define MESSAGEOUT2(x,y)  str.Empty();str.Format(x,y); \
	m_dlg->TextOut(str);

#define MESSAGEOUT1(x)  m_dlg->TextOut(x)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRas::CRas(CRasDialDlg* dlg)
{
	m_gEvent[0] = NULL;
	m_gEvent[1] = NULL;
	m_hRasConn = NULL;
	m_dlg = dlg;
}

CRas::~CRas()
{
	if(m_gEvent[0] != NULL){
		CloseHandle(m_gEvent[0]);
		m_gEvent[0] = NULL;
	}
	if(m_gEvent[1] != NULL){
		CloseHandle(m_gEvent[1]);
		m_gEvent[1] = NULL;
	}
}

BOOL CRas::Dail(LPCTSTR entry, LPCTSTR phone, LPCTSTR user, 
				LPCTSTR pass, LPCTSTR domain)
{
	DWORD			Ret;
	DWORD			tcLast;

	if((m_gEvent[0] = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL){
		TRACE("CreateEvent failed with error %d\n", GetLastError());
		return FALSE;
	}
	if((m_gEvent[1] = CreateEvent(NULL, FALSE, FALSE, NULL)) == NULL){
		TRACE("CreateEvent failed with error %d\n", GetLastError());
		return FALSE;
	}

	RasDialParams.dwSize = sizeof(RASDIALPARAMS);
	if(entry != NULL)
		lstrcpy(RasDialParams.szEntryName, entry);
	else
		lstrcpy(RasDialParams.szEntryName, "");
	if(phone != NULL)
		lstrcpy(RasDialParams.szPhoneNumber, phone);
	else
		lstrcpy(RasDialParams.szPhoneNumber, "");
	if(user != NULL)
		lstrcpy(RasDialParams.szUserName, user);
	else
		lstrcpy(RasDialParams.szUserName, "");
	if(pass != NULL)
		lstrcpy(RasDialParams.szPassword, pass);
	else
		lstrcpy(RasDialParams.szPassword, "");
	if(domain != NULL)
		lstrcpy(RasDialParams.szDomain, domain);
	else
		lstrcpy(RasDialParams.szDomain, "");

	if(m_hRasConn != NULL){
		MESSAGEOUT1("Please close the connecting first!\n");
		return FALSE;
	}
	
	if (Ret = RasDial(NULL, NULL, &RasDialParams, 
			0, &RasDialFunc, &m_hRasConn)){
		MESSAGEOUT2("RasDial failed with error %d\n", Ret);
		return FALSE;
	}

	// Wait for RasDial to complete or enter a paused state
	//Ret = WaitForSingleObject(m_gEvent, 50000);
	Ret = WaitForMultipleObjects(2, m_gEvent, FALSE, 50000);
	char szRasString[256];
	switch(Ret)
	{
		case WAIT_TIMEOUT:
			// RasDial timed out
			MESSAGEOUT1("RasDial Timed out...\n");
		case WAIT_OBJECT_0 + 1:
			RasGetErrorString((UINT)g_dwError, szRasString, 256);
			str.Empty();
			str.Format("Error: %d - ", g_dwError);
			str += szRasString;
			str += "\n";
			m_dlg->TextOut(str);
			break;
		case WAIT_OBJECT_0:
			// Normal completion or Ras Error encountered
			MESSAGEOUT1("Will hang up in 5 seconds...\n");
			Sleep(5000);

			MESSAGEOUT1("Calling RasHangUp...\n");
			if (Ret = RasHangUp(m_hRasConn))
			{
				MESSAGEOUT2("RasHangUp failed with error %d\n", Ret);
				return FALSE;
			}
			RasConnStatus.dwSize = sizeof(RASCONNSTATUS);
			tcLast = GetTickCount() + 10000;
			while((RasGetConnectStatus(m_hRasConn, &RasConnStatus) 
				!= ERROR_INVALID_HANDLE) && (tcLast > GetTickCount()))
			{	
				Sleep(50);      
			}

			str.Empty();
			str = "Connection to" +  CString(RasDialParams.szPhoneNumber) + "terminated.\n";
			m_dlg->TextOut(str);

			break;
	}

	return TRUE;
}

void WINAPI RasDialFunc(UINT unMsg, RASCONNSTATE rasconnstate, 
						DWORD dwError)
{
	char szRasString[256]; // Buffer for storing the error string

	if (dwError)  // Error occurred
	{
		g_dwError = dwError;
		SetEvent(m_gEvent[1]);
		return;
	}

	// Map each of the states of RasDial() and display on the screen
	// the next state that RasDial() is entering
	switch (rasconnstate)
	{
		// Running States
		case RASCS_OpenPort:
			TRACE ("Opening port...\n");
			break;
		case RASCS_PortOpened:
			TRACE ("Port opened.\n");
        	break;
		case RASCS_ConnectDevice: 
			TRACE ("Connecting device...\n");
			break;
		case RASCS_DeviceConnected: 
			TRACE ("Device connected.\n");
			break;
		case RASCS_AllDevicesConnected:
			TRACE ("All devices connected.\n");
			break;
		case RASCS_Authenticate: 
			TRACE ("Authenticating...\n");
			break;
		case RASCS_AuthNotify:
			TRACE ("Authentication notify.\n");
			break;
		case RASCS_AuthRetry: 
			TRACE ("Retrying authentication...\n");
			break;
		case RASCS_AuthCallback:
			TRACE ("Authentication callback...\n");
			break;
		case RASCS_AuthChangePassword: 
			TRACE ("Change password...\n");
			break;
		case RASCS_AuthProject: 
			TRACE ("Projection phase started...\n");
			break;
		case RASCS_AuthLinkSpeed: 
			TRACE ("Negotiating speed...\n");
			break;
		case RASCS_AuthAck: 
			TRACE ("Authentication acknowledge...\n");
			break;
		case RASCS_ReAuthenticate: 
			TRACE ("Retrying Authentication...\n");
			break;
		case RASCS_Authenticated: 
			TRACE ("Authentication complete.\n");
			break;
		case RASCS_PrepareForCallback: 
			TRACE ("Preparing for callback...\n");
			break;
		case RASCS_WaitForModemReset: 
			TRACE ("Waiting for modem reset...\n");
			break;
		case RASCS_WaitForCallback:
			TRACE ("Waiting for callback...\n");
			break;
		case RASCS_Projected:  
			TRACE ("Projection completed.\n");
			break;
	#if (WINVER >= 0x400) 
		case RASCS_StartAuthentication:
			TRACE ("Starting authentication...\n");
            break;
		case RASCS_CallbackComplete: 
			TRACE ("Callback complete.\n");
			break;
		case RASCS_LogonNetwork:
			TRACE ("Logon to the network.\n");
			break;
	#endif 
		case RASCS_SubEntryConnected:
			TRACE ("Subentry connected.\n");
			break;
		case RASCS_SubEntryDisconnected:
			TRACE ("Subentry disconnected.\n");
			break;

		// The RAS Paused States will not occur because
		// we did not use the RASDIALEXTENSIONS structure
		// to set the RDEOPT_PausedState option flag.

		// The Paused States are:

		// RASCS_RetryAuthentication:
		// RASCS_CallbackSetByCaller:
		// RASCS_PasswordExpired:

		// Terminal States
		case RASCS_Connected: 
			TRACE ("Connection completed.\n");
			SetEvent(m_gEvent[0]);
			break;
		case RASCS_Disconnected: 
			TRACE ("Disconnecting...\n");
			SetEvent(m_gEvent[0]);
			break;
		default:
			TRACE ("Unknown Status = %d\n", rasconnstate);
			break;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频在线观看网站| 亚洲男女一区二区三区| 中文字幕在线播放不卡一区| 国产一区91精品张津瑜| 国产精品每日更新在线播放网址| 欧美亚洲日本国产| 国产精品888| 毛片不卡一区二区| 亚洲影院理伦片| 国产精品免费丝袜| 精品国产污网站| 欧美男同性恋视频网站| 99re视频这里只有精品| 国产精品一卡二卡在线观看| 青青草伊人久久| 亚洲国产视频在线| 亚洲女女做受ⅹxx高潮| 国产拍欧美日韩视频二区| 欧美一级高清大全免费观看| 日本高清视频一区二区| av激情亚洲男人天堂| 国产成人午夜99999| 久久精工是国产品牌吗| 日韩在线一区二区| 亚洲成人动漫精品| 亚洲在线观看免费视频| 欧美经典一区二区| 青青国产91久久久久久| 亚洲精品乱码久久久久久| 中文字幕不卡在线观看| 欧美精品一区二区三区蜜桃| 欧美一区二区三区人| 欧美精品日韩一本| 欧美卡1卡2卡| 欧美老肥妇做.爰bbww视频| 欧美性极品少妇| 欧美色网站导航| 欧美色网一区二区| 欧美福利电影网| 欧美美女黄视频| 欧美久久久久久蜜桃| 欧美麻豆精品久久久久久| 欧美精品欧美精品系列| 欧美一区二区三区在线看| 亚洲欧洲韩国日本视频| 亚洲国产精品v| 国产精品精品国产色婷婷| 亚洲国产激情av| 国产精品麻豆网站| 亚洲人一二三区| 亚洲国产一区二区a毛片| 亚洲6080在线| 精品国产免费久久| 欧美精品一二三| 欧美日韩一区二区电影| 欧美在线观看一二区| 欧美日韩国产123区| 宅男在线国产精品| 精品国产一区二区精华| 国产女人aaa级久久久级| 中文字幕av不卡| 一区av在线播放| 日韩和欧美一区二区| 精品亚洲成a人在线观看| 国产精品一区不卡| eeuss鲁片一区二区三区| 色成年激情久久综合| 3d成人h动漫网站入口| www国产成人| 日韩理论片中文av| 调教+趴+乳夹+国产+精品| 久久av老司机精品网站导航| 成人av在线影院| 欧美网站大全在线观看| 欧美大胆一级视频| 国产精品国产三级国产aⅴ入口 | 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 午夜视频一区二区| 麻豆国产91在线播放| 成人午夜免费电影| 在线视频国内自拍亚洲视频| 日韩欧美一区二区视频| 国产精品电影院| 日本中文字幕一区二区视频| 成人午夜电影网站| 在线播放91灌醉迷j高跟美女 | 色偷偷一区二区三区| 欧美一区二区久久| 国产精品欧美极品| 日韩电影在线观看网站| 成人激情免费网站| 欧美一区二区啪啪| 亚洲欧美日韩久久| 国产裸体歌舞团一区二区| 欧美影院一区二区| 欧美v亚洲v综合ⅴ国产v| 国产欧美日韩在线| 偷拍与自拍一区| 成人国产精品免费观看动漫| 欧美精品一二三四| 亚洲欧洲av色图| 久久av老司机精品网站导航| 色域天天综合网| 国产欧美日韩在线看| 免费观看久久久4p| 在线视频欧美精品| 国产精品伦理一区二区| 激情综合色播激情啊| 欧美精品第一页| 亚洲精品国产一区二区精华液 | 91美女精品福利| 久久青草国产手机看片福利盒子 | 午夜在线成人av| 91啪亚洲精品| 国产欧美精品一区aⅴ影院| 日本亚洲最大的色成网站www| 色视频欧美一区二区三区| 青青草97国产精品免费观看 | 色婷婷综合久久久久中文| 国产亚洲精品免费| 在线综合视频播放| 成人一级黄色片| 91精品国模一区二区三区| 国产精品大尺度| 美洲天堂一区二卡三卡四卡视频| 色婷婷精品久久二区二区蜜臂av| 26uuu另类欧美亚洲曰本| 日韩av在线播放中文字幕| 91在线视频免费观看| 久久久久9999亚洲精品| 青娱乐精品视频在线| 欧美老年两性高潮| 亚洲美女一区二区三区| 成人精品一区二区三区四区| 精品粉嫩aⅴ一区二区三区四区| 午夜精品一区在线观看| 色狠狠综合天天综合综合| 一区免费观看视频| 成+人+亚洲+综合天堂| 国产欧美日韩视频在线观看| 国内精品嫩模私拍在线| 欧美成人艳星乳罩| 老色鬼精品视频在线观看播放| 欧美午夜精品久久久| 亚洲一区自拍偷拍| 一本到不卡精品视频在线观看| 亚洲人成在线播放网站岛国| www.欧美精品一二区| 国产精品视频线看| 岛国精品一区二区| 国产精品电影一区二区三区| 国产精品一区二区x88av| 久久新电视剧免费观看| 国产精品亚洲人在线观看| 久久久99精品免费观看| 成人app下载| 洋洋成人永久网站入口| 欧美电影影音先锋| 国产在线国偷精品产拍免费yy| 国产亚洲精品免费| 色94色欧美sute亚洲线路二 | 国产精品一区三区| 久久精品欧美日韩精品| 91在线小视频| 天天色综合天天| 亚洲精品一区二区三区精华液 | 国产激情视频一区二区三区欧美| 国产欧美日韩另类一区| 色爱区综合激月婷婷| 日韩精品五月天| 国产清纯美女被跳蛋高潮一区二区久久w | 久久综合久色欧美综合狠狠| 国产高清不卡一区二区| 亚洲欧美成aⅴ人在线观看| 欧美人与性动xxxx| 国产精品一区免费在线观看| 亚洲精品成人悠悠色影视| 日韩视频免费观看高清在线视频| 福利一区二区在线| 亚洲第一成人在线| 日本一区二区三区在线观看| 欧美日韩视频第一区| 国产精品456露脸| 手机精品视频在线观看| 欧美国产日本视频| 6080亚洲精品一区二区| 丁香一区二区三区| 天天色天天操综合| 国产精品国产自产拍高清av | 久久国产精品99久久久久久老狼| 国产精品网曝门| 日韩一级免费一区| 色猫猫国产区一区二在线视频| 久久99精品久久只有精品| 亚洲欧洲成人av每日更新| 精品美女在线观看| 欧美日韩国产在线观看| 97久久精品人人做人人爽 | 91黄色在线观看| 亚洲蜜桃精久久久久久久|