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

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

?? ut_ras.h

?? Window環境下的TCP/IP通訊開發包
?? H
字號:
/**********************************************************
CUT_RAS
    RAS - Remote Access Services, for dial-up networking

    CUT_RAS encapsulates all of the commonly used features
    in RAS allowing developers to easily add dial-up support
    to applications.

    The class dynamically loads the RAS DLLs so that applications
    that use this class will still work on systems that have
    are not configured for dial-up networking

    Copyright 2001 The Ultimate Toolbox.
***********************************************************/

#ifndef UTRAS_H_INCLUDED
#define UTRAS_H_INCLUDED

//#define UTRAS_ENABLE_EVENTS		//define to enable disconnect events

//include RAS interfaces and definitions
#include <ras.h>
#include <raserror.h>

//include error defines
#include "uterr.h"

//function prototypes for dynamically loading RAS
typedef DWORD (APIENTRY* LPRasDial)( LPRASDIALEXTENSIONS, LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN );
typedef DWORD (APIENTRY* LPRasHangUp)( HRASCONN );
typedef DWORD (APIENTRY* LPRasGetConnectStatus)( HRASCONN, LPRASCONNSTATUS );

typedef DWORD (APIENTRY* LPRasEnumConnections)( LPRASCONN, LPDWORD, LPDWORD );
typedef DWORD (APIENTRY* LPRasEnumEntries)( LPCTSTR, LPCTSTR, LPRASENTRYNAME, LPDWORD, LPDWORD );
typedef DWORD (APIENTRY* LPRasEnumDevices)( LPRASDEVINFO, LPDWORD, LPDWORD );

typedef DWORD (APIENTRY* LPRasCreatePhonebookEntry)( HWND, LPCSTR );
typedef DWORD (APIENTRY* LPRasEditPhonebookEntry)( HWND, LPCTSTR, LPCSTR );
typedef DWORD (APIENTRY* LPRasSetEntryDialParams)( LPCTSTR, LPRASDIALPARAMS, BOOL );
typedef DWORD (APIENTRY* LPRasGetEntryDialParams)( LPCTSTR, LPRASDIALPARAMS, LPBOOL );

typedef DWORD (APIENTRY* LPRasGetCountryInfo)( LPRASCTRYINFOA, LPDWORD );
typedef DWORD (APIENTRY* LPRasGetEntryProperties)( LPCTSTR, LPCTSTR, LPRASENTRY, LPDWORD, LPBYTE, LPDWORD );
typedef DWORD (APIENTRY* LPRasSetEntryProperties)( LPCTSTR, LPCTSTR, LPRASENTRY, DWORD, LPBYTE, DWORD );
typedef DWORD (APIENTRY* LPRasRenameEntry)( LPCTSTR, LPCTSTR, LPCTSTR );
typedef DWORD (APIENTRY* LPRasDeleteEntry)( LPCTSTR, LPCTSTR );
typedef DWORD (APIENTRY* LPRasValidateEntryName)( LPCTSTR, LPCTSTR );


/**********************************************************
***********************************************************/
class CUT_RAS  
{

protected:
    
    HINSTANCE m_hInstRASAPI;    //handle to RASAPI32.DLL
    HINSTANCE m_hInstRNAPH;     //handle to RNAPH.DLL (used by older win95 installs)
        
    //function pointers that will point to the RAS functions
    //when the library is loaded dynamically
    LPRasDial               m_rasDialFunc;
    LPRasHangUp             m_rasHangUpFunc;
    LPRasGetConnectStatus   m_rasGetConnectStatusFunc;

    LPRasEnumConnections    m_rasEnumConnectionsFunc;
    LPRasEnumEntries        m_rasEnumEntriesFunc;
    LPRasEnumDevices        m_rasEnumDevicesFunc;

    LPRasCreatePhonebookEntry m_rasCreatePhonebookEntryFunc;
    LPRasEditPhonebookEntry m_rasEditPhonebookEntryFunc;
    LPRasSetEntryDialParams m_rasSetEntryDialParamsFunc;
    LPRasGetEntryDialParams m_rasGetEntryDialParamsFunc;

    LPRasGetCountryInfo     m_rasGetCountryInfoFunc;
    LPRasGetEntryProperties m_rasGetEntryPropertiesFunc;
    LPRasSetEntryProperties m_rasSetEntryPropertiesFunc;
    LPRasRenameEntry        m_rasRenameEntryFunc;
    LPRasDeleteEntry        m_rasDeleteEntryFunc;
    LPRasValidateEntryName  m_rasValidateEntryNameFunc;

    //device info enum data
    LPRASDEVINFO    m_rdi;
    DWORD           m_rdiCount; 

    //connection info enum data
    LPRASCONN       m_rc;
    DWORD           m_rcCount;  

    //entry info enum data
    LPRASENTRYNAME  m_ren;
    DWORD           m_renCount;

    //connection handle
    HRASCONN        m_rasConn;

    //flags
    BOOL            m_bLoaded;  //set to TRUE if the RAS DLL was loaded successfully

    //dial callback
    HWND            m_hWndCallback;
    int             m_nMessageID;

    //dial attempt state
    BOOL    m_bRasCancelDial;
    BOOL    m_bDialAttemptComplete;
    BOOL    m_bDialAttemptSuccess;
    DWORD   m_dwDialState;

    //RAS dial callback function
    static VOID WINAPI RasDialStatus(UINT unMsg, RASCONNSTATE rasconnstate, DWORD dwError);

    //error handling
    DWORD   m_nLastRASError;

    //RAS DLL loading
    BOOL    InitCheck(void** pFunc);

public:
    

    //constructor, destructor
    CUT_RAS();
    virtual ~CUT_RAS();

    //initialize and cleanup functions
    BOOL    InitRAS();

    //error handling
    virtual int     OnError(int nError);

    //dialing,hangup functions
    int     Dial(LPCTSTR szEntry,LPCTSTR szUserName = NULL, LPCTSTR szPassword = NULL,LPCTSTR szNumber = NULL);
	int     DialEx(LPCTSTR szEntry,LPCTSTR szUserName = NULL, LPCTSTR szPassword = NULL,LPCTSTR szNumber = NULL);
    int     HangUp();
    int     HangUp(HRASCONN rasConn);
    int     SetDialStatusCallback(HWND hWnd, int nMessageID);
    DWORD   GetDialState();
    void    CancelDial(); // cancel the 

    BOOL    IsConnected();

    //device enumeration functions
    int     EnumDevices();
    DWORD   GetDeviceCount();
    int     GetDevice(LPRASDEVINFO rdi,DWORD index);

    //connection enumeration functions
    int     EnumConnections();
    DWORD   GetConnectionCount();
    int     GetConnection(LPRASCONN rc,DWORD index);

    //entry enumeration functions
    int     EnumEntries();
    DWORD   GetEntryCount();
    int     GetEntry(LPRASENTRYNAME ren,DWORD index);

    //phonebook entry functions
    int     GetEntryProperties(LPCTSTR szEntryName, LPRASENTRY pRasEntry,DWORD* pnRasEntryLen);
    int     SetEntryProperties(LPCTSTR szEntryName, LPRASENTRY pRasEntry,DWORD nRasEntryLen = sizeof(RASENTRY));
    
    int     SetDialEntryParams(LPCTSTR szEntryName,LPRASDIALPARAMS pRasDialParams, BOOL bClearPassword = FALSE);
    int     GetDialEntryParams(LPCTSTR szEntryName,LPRASDIALPARAMS pRasDialParams, BOOL* bClearPassword= NULL);

    int     DoesEntryExist(LPCTSTR szEntryName);
    int     ValidateEntryName(LPCTSTR szEntryName);
    int     ClearEntryPassword(LPCTSTR szEntryName);
    int     DeleteEntry(LPCTSTR szEntryName);
    int     RenameEntry(LPCTSTR szEntryName,LPCTSTR szNewEntryName);
    

    int     GetEntryPhoneNumber(LPCTSTR szEntryName, LPTSTR szPhoneNumber, long nPhoneNumberLen,
                LPTSTR szAreaCode, long nAreaCodeLen);
    int     GetEntryUserName(LPCTSTR szEntryName,LPTSTR szUserName, long nMaxLen);
    int     GetEntryPassword(LPCTSTR szEntryName,LPTSTR szPassword, long nMaxLen);

    //RAS errors        
    DWORD   GetLastRASError();
    LPCTSTR  GetRASErrorString(DWORD error);

	//events
	#ifdef UTRAS_ENABLE_EVENTS
		int				EnableDisconnectEvent(BOOL bEnable = TRUE);
		DWORD			m_disconnectThreadID;
		BOOL			m_bDisconnectThreadShutdown;
		BOOL			m_bDisconnectEventReady;
		static void		DisconnectEventThread(void *ptr);
		virtual void	OnDisconnected();
	#endif

};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产资源精品在线观看| 99久久精品费精品国产一区二区| 亚洲一级二级三级| 日韩福利电影在线| 国产精品自产自拍| 欧美视频一区二| 2020国产成人综合网| 亚洲欧美成aⅴ人在线观看 | 欧美日韩和欧美的一区二区| 久久久久久久久久久久久久久99 | 国产精品不卡视频| 日本不卡中文字幕| 欧美mv和日韩mv的网站| 亚洲色图制服丝袜| 国产不卡在线播放| 3751色影院一区二区三区| 亚洲国产精品国自产拍av| 秋霞成人午夜伦在线观看| 欧美影院一区二区| 青青草伊人久久| 国产农村妇女精品| 丁香五精品蜜臀久久久久99网站 | 亚洲高清视频中文字幕| 不卡的av电影| 久久精品免费在线观看| 美国十次了思思久久精品导航| 在线日韩国产精品| 一区二区三区在线视频观看58| 成人免费观看视频| 中文字幕高清不卡| 5858s免费视频成人| 成人在线综合网站| 日韩高清不卡一区二区| 国产精品久久久久影院老司| 欧美色图在线观看| 中文字幕 久热精品 视频在线| 日韩精品中文字幕在线不卡尤物| 18欧美亚洲精品| 成人小视频免费在线观看| 亚洲精品国产a久久久久久| 91国内精品野花午夜精品 | 亚洲精品一区在线观看| 美腿丝袜在线亚洲一区| 国产精品夫妻自拍| 亚洲精品一区二区三区99| 欧美亚洲高清一区| av激情亚洲男人天堂| 自拍偷拍国产亚洲| 久久嫩草精品久久久精品一| 欧美日韩另类一区| 99re成人在线| 国产成a人亚洲精| 精品亚洲欧美一区| 国产亚洲视频系列| 日韩一区二区三区av| 激情六月婷婷久久| 视频一区免费在线观看| 日韩一区二区三区观看| 欧美天堂亚洲电影院在线播放| 成人免费毛片嘿嘿连载视频| 国产一区二区电影| 亚洲人成网站在线| 国产精品久久久久久亚洲毛片| ww亚洲ww在线观看国产| 欧美高清你懂得| 久久99国产精品免费| 首页国产丝袜综合| 亚洲成人激情自拍| 久久久久国产成人精品亚洲午夜 | 在线观看www91| 91污在线观看| 天天爽夜夜爽夜夜爽精品视频| 欧美一区二区黄| av在线播放不卡| 成人综合日日夜夜| 成人av在线一区二区| 懂色av噜噜一区二区三区av| 国产成人av电影在线观看| 亚洲欧美成人一区二区三区| 中文字幕一区二区三区精华液 | 亚洲免费观看视频| 亚洲欧洲成人精品av97| 国产精品久久久久久久久图文区| 国产精品人妖ts系列视频| 欧美日韩成人高清| 91精选在线观看| 91精品国产综合久久精品性色| 91精品久久久久久久久99蜜臂| 制服丝袜av成人在线看| 精品国产乱码久久久久久图片 | 日韩亚洲欧美高清| 精品国产91久久久久久久妲己| 久久久久久亚洲综合影院红桃| 国产清纯在线一区二区www| 日本一区二区久久| 亚洲美女淫视频| 日韩精品每日更新| 激情文学综合网| 成人一级片在线观看| 91美女在线看| 91精品国产欧美一区二区18| 欧美精品一区二区蜜臀亚洲| 国产欧美日韩激情| 亚洲私人影院在线观看| 三级成人在线视频| 国产精品一品二品| 一本色道久久综合亚洲91| 国产精品资源在线观看| 99视频国产精品| 欧美精品久久一区二区三区| 亚洲精品一区在线观看| 亚洲视频一区二区在线| 免费日本视频一区| jizzjizzjizz欧美| 欧美一区二区在线免费播放| 亚洲国产精品v| 一区二区三区 在线观看视频| 免费看欧美女人艹b| 成人免费观看av| 欧美老肥妇做.爰bbww| 亚洲国产精品v| 丝袜脚交一区二区| 国产.欧美.日韩| 51久久夜色精品国产麻豆| 国产欧美一区二区三区在线看蜜臀 | 日韩电影在线观看一区| 大尺度一区二区| 91精品国产综合久久国产大片| 国产精品无码永久免费888| 亚洲不卡一区二区三区| 不卡视频在线观看| 欧美成人女星排行榜| 亚洲精品va在线观看| 国产大陆亚洲精品国产| 欧美狂野另类xxxxoooo| 亚洲三级小视频| 国产精品1024久久| 日韩免费视频线观看| 亚洲综合精品自拍| av亚洲产国偷v产偷v自拍| 精品国产乱码久久久久久久| 亚洲国产精品一区二区www在线 | 国产亚洲午夜高清国产拍精品| 日韩高清在线观看| 91色视频在线| 国产精品无码永久免费888| 国内成人免费视频| 日韩欧美卡一卡二| 午夜久久电影网| 色久综合一二码| 自拍偷拍国产亚洲| 成人爱爱电影网址| 国产欧美一区二区三区在线老狼| 精久久久久久久久久久| 91精品国产欧美一区二区18| 亚洲国产综合视频在线观看| 91行情网站电视在线观看高清版| 国产日韩欧美电影| 欧美色精品在线视频| 成人一区二区三区视频在线观看| 91精品免费观看| 波多野结衣中文字幕一区二区三区| 欧美精品一区二区三区一线天视频 | 日韩精品亚洲专区| 在线成人小视频| 午夜欧美一区二区三区在线播放| 在线看国产一区| 亚洲宅男天堂在线观看无病毒| 色成人在线视频| 亚洲第四色夜色| 欧美色图在线观看| 亚洲成人午夜影院| 欧美精三区欧美精三区| 日韩一区欧美二区| 日韩一区二区在线看| 精品制服美女丁香| 久久精品在线观看| 成人午夜电影久久影院| 国产精品久久久久三级| 色综合久久99| 亚洲国产成人av网| 日韩一区二区三区视频| 国产综合色在线视频区| 亚洲国产激情av| 91免费在线播放| 午夜久久久久久久久久一区二区| 7777精品久久久大香线蕉 | 亚洲欧美二区三区| 欧美日韩亚洲另类| 麻豆成人在线观看| 中文一区二区完整视频在线观看 | 欧美日韩综合在线免费观看| 美女精品自拍一二三四| 日本一区二区三区视频视频| 97se狠狠狠综合亚洲狠狠| 亚洲成人av一区二区三区| 日韩午夜三级在线| 成人福利在线看| 亚洲二区在线视频| 国产午夜久久久久|