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

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

?? netconnect.h

?? VC游戲編程基礎
?? H
字號:
//-----------------------------------------------------------------------------
// File: NetConnect.h
//
// Desc:
//
// Copyright (C) Microsoft Corporation. All Rights Reserved.
//-----------------------------------------------------------------------------
#ifndef NETCONNECT_H
#define NETCONNECT_H


#include <windows.h>
#include <dplay8.h>
#include <dpaddr.h>
#include <tchar.h>


//-----------------------------------------------------------------------------
// Defines, structures, and error codes
//-----------------------------------------------------------------------------
#define DISPLAY_REFRESH_RATE        250
#define TIMERID_DISPLAY_HOSTS       1
#define TIMERID_CONNECT_COMPLETE    2
#define MAX_PLAYER_NAME             14

#define NCW_S_FORWARD      ( (HRESULT) 0x01000001 ) // Dialog success, so go forward
#define NCW_S_BACKUP       ( (HRESULT) 0x01000002 ) // Dialog canceled, show previous dialog
#define NCW_S_QUIT         ( (HRESULT) 0x01000003 ) // Dialog quit, close app
#define NCW_S_LOBBYCONNECT ( (HRESULT) 0x01000004 ) // Dialog connected from lobby, connect success

enum SigningType { SIGN_NONE, SIGN_FAST, SIGN_FULL };


class CNetConnectWizard
{
public:
	CNetConnectWizard( HINSTANCE hInst, HWND hWndParent, LPCTSTR strAppName, GUID* pGuidApp );
	virtual ~CNetConnectWizard();

    HRESULT WINAPI MessageHandler( PVOID pvUserContext, DWORD dwMessageId, PVOID pMsgBuffer );
    HRESULT WINAPI LobbyMessageHandler( PVOID pvUserContext, DWORD dwMessageId, PVOID pMsgBuffer );

    HRESULT Init( IDirectPlay8Peer* pDP, IDirectPlay8LobbiedApplication* pLobbiedApp );
    VOID    Shutdown();
    HRESULT DoConnectWizard( BOOL bBackTrack );
    HRESULT ConnectUsingLobbySettings();

    void   SetMaxPlayers( DWORD dwMaxPlayers )                  { m_dwMaxPlayers = dwMaxPlayers; }
    void   SetPlayerName( LPCTSTR strPlayerName )               { _tcsncpy( m_strLocalPlayerName, strPlayerName, MAX_PLAYER_NAME-1 ); m_strLocalPlayerName[ MAX_PLAYER_NAME-1 ] = 0; }
    void   SetSessionName( LPCTSTR strSessionName )             { _tcsncpy( m_strSessionName, strSessionName, MAX_PATH-1 ); m_strSessionName[ MAX_PATH-1 ] = 0; }
    void   SetPreferredProvider( LPCTSTR strPreferredProvider ) { _tcsncpy( m_strPreferredProvider, strPreferredProvider, MAX_PATH-1 ); m_strPreferredProvider[ MAX_PATH-1 ] = 0; }
    void   SetDefaultPort( DWORD dwDefaultPort )                { m_dwPort = dwDefaultPort; }

    TCHAR* GetPlayerName()                                      { return m_strLocalPlayerName; }
    TCHAR* GetSessionName()                                     { return m_strSessionName; }
    TCHAR* GetPreferredProvider()                               { return m_strPreferredProvider; }
    BOOL   IsHostPlayer()                                       { return m_bHostPlayer; }
    BOOL   IsMigrateHost()                                      { return m_bMigrateHost; }
    BOOL   HaveConnectionSettingsFromLobby()                    { return m_bHaveConnectionSettingsFromLobby; }
    static BOOL SPRequiresPort( GUID* pSP )                     { return (*pSP != CLSID_DP8SP_MODEM && *pSP != CLSID_DP8SP_SERIAL && *pSP != CLSID_DP8SP_BLUETOOTH); } 

protected:
    struct DPHostEnumInfo
    {
        DWORD                 dwRef;
        DPN_APPLICATION_DESC* pAppDesc;
        IDirectPlay8Address* pHostAddr;
        IDirectPlay8Address* pDeviceAddr;
		TCHAR                szSession[MAX_PATH];
        DWORD                dwLastPollTime;
        BOOL                 bValid;
        DPHostEnumInfo*      pNext;
    };

    static INT_PTR CALLBACK StaticConnectionsDlgProc( HWND, UINT, WPARAM, LPARAM );
    static INT_PTR CALLBACK StaticSessionsDlgProc( HWND, UINT, WPARAM, LPARAM );
    static INT_PTR CALLBACK StaticCreateSessionDlgProc( HWND, UINT, WPARAM, LPARAM );
    static INT_PTR CALLBACK StaticLobbyWaitDlgProc( HWND, UINT, WPARAM, LPARAM );
    static INT_PTR CALLBACK StaticAddressDlgProc( HWND, UINT, WPARAM, LPARAM );
    INT_PTR CALLBACK ConnectionsDlgProc( HWND, UINT, WPARAM, LPARAM );
    INT_PTR CALLBACK SessionsDlgProc( HWND, UINT, WPARAM, LPARAM );
    INT_PTR CALLBACK CreateSessionDlgProc( HWND, UINT, WPARAM, LPARAM );
    INT_PTR CALLBACK LobbyWaitDlgProc( HWND, UINT, WPARAM, LPARAM );
    INT_PTR CALLBACK AddressDlgProc( HWND, UINT, WPARAM, LPARAM );

    HRESULT ConnectionsDlgFillListBox( HWND hDlg );
    HRESULT ConnectionsDlgOnOK( HWND hDlg );
    VOID    ConnectionsDlgCleanup( HWND hDlg );

    VOID    SessionsDlgInitListbox( HWND hDlg );
    HRESULT SessionsDlgEnumHosts( HWND hDlg );
    VOID    SessionsDlgStopEnumHosts( HWND hDlg );
    VOID    SessionsDlgFinalizeEnumHosts( HWND hDlg );
    HRESULT SessionsDlgNoteEnumResponse( PDPNMSG_ENUM_HOSTS_RESPONSE pEnumHostsResponse );
    VOID    SessionsDlgExpireOldHostEnums();
    HRESULT SessionsDlgDisplayEnumList( HWND hDlg );
    HRESULT SessionsDlgJoinGame( HWND hDlg );
    HRESULT SessionsDlgCreateGame( HWND hDlg );
    VOID    SessionsDlgEnumListCleanup();

    IDirectPlay8Peer*       m_pDP;
    IDirectPlay8LobbiedApplication* m_pLobbiedApp;
    CRITICAL_SECTION        m_csHostEnum;
    GUID                    m_guidApp;
    HRESULT                 m_hrDialog;
    HWND                    m_hDlg;
    HINSTANCE               m_hInst;
    HWND                    m_hWndParent;
    DWORD                   m_dwMaxPlayers;
    DWORD                   m_dwPort;
    TCHAR                   m_strAppName[MAX_PATH];
    TCHAR                   m_strPreferredProvider[MAX_PATH];
    TCHAR                   m_strSessionName[MAX_PATH];
    TCHAR                   m_strLocalPlayerName[MAX_PLAYER_NAME];
    TCHAR                   m_strHostname[MAX_PATH];
    BOOL                    m_bSearchingForSessions;
    BOOL                    m_bMigrateHost;
    BOOL                    m_bUseDPNSVR;
    SigningType             m_eSigningType;
    DPHostEnumInfo          m_DPHostEnumHead;
    BOOL                    m_bEnumListChanged;
    DPNHANDLE               m_hEnumAsyncOp;
    BOOL                    m_bHostPlayer;
    DWORD                   m_dwEnumHostExpireInterval;
    BOOL                    m_bConnecting;
    DPNHANDLE               m_hConnectAsyncOp;
    HANDLE                  m_hConnectCompleteEvent;
    HANDLE                  m_hLobbyConnectionEvent;
    HRESULT                 m_hrConnectComplete;
    BOOL                    m_bHaveConnectionSettingsFromLobby;
    DPNHANDLE	            m_hLobbyClient;
    GUID                    m_guidSP;
};


#endif // NETCONNECT_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码日本亚洲一区二区| 色婷婷精品久久二区二区蜜臀av| 欧美电视剧免费观看| 六月婷婷色综合| 久久午夜电影网| 成人激情免费网站| 一区二区免费在线| 欧美麻豆精品久久久久久| 轻轻草成人在线| 国产亚洲欧美一区在线观看| 成人久久视频在线观看| 亚洲图片一区二区| 欧美草草影院在线视频| 成人午夜碰碰视频| 午夜精品福利在线| 国产日韩欧美a| 欧美视频精品在线观看| 国产一区二区在线影院| 亚洲视频免费观看| 欧美一区二区三区免费| 成人av在线播放网站| 亚洲成人一二三| 久久麻豆一区二区| 欧美影院一区二区| 国产丶欧美丶日本不卡视频| 亚洲精品成人a在线观看| 亚洲国产视频在线| 亚洲精品一线二线三线无人区| 99精品欧美一区二区蜜桃免费| 五月婷婷激情综合| 国产精品理伦片| 欧美一级免费大片| 色综合一区二区| 国产呦萝稀缺另类资源| 亚洲一区二区在线观看视频| 精品国产乱码久久久久久浪潮 | 不卡视频在线看| 亚洲成人免费视| 国产精品国产三级国产| 精品毛片乱码1区2区3区| 欧美性猛片xxxx免费看久爱| 国产成人av福利| 蜜臀av亚洲一区中文字幕| 夜夜亚洲天天久久| 亚洲国产精品高清| 欧美mv日韩mv国产网站app| 在线免费观看一区| 99精品桃花视频在线观看| 国内成人免费视频| 毛片av一区二区| 日韩二区在线观看| 一区二区在线观看不卡| 国产精品国产三级国产有无不卡| 精品伦理精品一区| 日韩一区二区三区精品视频| 91国产免费看| 色久综合一二码| 成人av资源下载| 国产成人午夜精品影院观看视频 | 日本道色综合久久| 欧美国产日本韩| 日韩限制级电影在线观看| 欧美四级电影在线观看| 91丨九色丨国产丨porny| 国产69精品久久久久777| 国产麻豆精品久久一二三| 精品一区二区三区在线视频| 日韩成人一区二区| 日本不卡一区二区| 免费视频最近日韩| 日韩不卡一区二区三区| 日韩国产成人精品| 日韩成人精品在线| 久久成人免费日本黄色| 麻豆91在线播放| 91丨porny丨最新| 91九色最新地址| 欧美三区在线视频| 欧美高清视频在线高清观看mv色露露十八| 欧美色大人视频| 欧美一区二区在线观看| 日韩午夜在线影院| 久久久亚洲欧洲日产国码αv| 国产校园另类小说区| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久毛片软件| 中文字幕中文字幕一区| 一区二区三区产品免费精品久久75| 一区二区欧美国产| 日韩精品国产精品| 狠狠色丁香久久婷婷综| 成人av一区二区三区| 色成年激情久久综合| 在线播放中文一区| 久久久久久久久久久久电影 | 国产精选一区二区三区| 国产福利精品导航| 色婷婷一区二区三区四区| 欧美日韩一区二区在线观看视频| 偷窥少妇高潮呻吟av久久免费| 一区二区三区波多野结衣在线观看 | 亚洲成av人在线观看| 美女任你摸久久| 国产一区二区不卡| 91视频免费观看| 欧美一级片在线观看| 国产精品入口麻豆原神| 亚洲一区在线观看网站| 久久99久久99精品免视看婷婷| 国产高清在线精品| 国产精品乱码一区二区三区软件| 一区二区三区四区视频精品免费| 日韩成人一级大片| 99久久伊人网影院| 欧美一区二区三区男人的天堂| 国产日韩精品一区二区三区在线| 亚洲乱码一区二区三区在线观看| 日本成人超碰在线观看| 99视频一区二区| 日韩欧美一区在线| 亚洲日本丝袜连裤袜办公室| 久久精品国产网站| 91官网在线观看| 337p日本欧洲亚洲大胆精品| 不卡欧美aaaaa| 欧美日本韩国一区| 日本一区二区三区四区在线视频 | 日韩欧美自拍偷拍| 亚洲欧洲日产国产综合网| 毛片av一区二区| 欧美在线综合视频| 国产欧美日韩视频一区二区| 石原莉奈在线亚洲二区| 91热门视频在线观看| 欧美精品一区二区三区四区| 亚洲丰满少妇videoshd| av网站一区二区三区| 26uuu精品一区二区在线观看| 亚洲一级在线观看| 97久久人人超碰| 国产亚洲一区字幕| 蜜桃av一区二区三区电影| 欧美性欧美巨大黑白大战| 国产欧美精品区一区二区三区 | 日韩一区二区免费在线观看| 狠狠色狠狠色合久久伊人| 在线观看91精品国产入口| 国产精品理伦片| 国产精品99久久久| 精品少妇一区二区三区视频免付费 | 色综合中文字幕| 国产精品青草综合久久久久99| 久久99精品久久久久久久久久久久| 欧美日精品一区视频| 一区二区免费在线| 91久久人澡人人添人人爽欧美| 中文字幕五月欧美| 成人午夜视频在线| 亚洲国产成人在线| 懂色av一区二区三区免费观看| 国产色一区二区| 国产成人av一区二区三区在线观看| 日韩免费视频线观看| 韩国av一区二区三区| 久久久无码精品亚洲日韩按摩| 国产剧情在线观看一区二区| 精品国产一区二区亚洲人成毛片 | 成人激情校园春色| 欧美吻胸吃奶大尺度电影 | 欧美精品v国产精品v日韩精品 | 亚洲欧洲色图综合| 99久久er热在这里只有精品66| 中文一区二区完整视频在线观看| 国产老妇另类xxxxx| 欧美国产综合一区二区| 成人免费va视频| 亚洲精品欧美综合四区| 一本大道久久a久久精二百| 亚洲在线一区二区三区| 欧美高清视频一二三区| 狠狠久久亚洲欧美| 中国av一区二区三区| 97se亚洲国产综合自在线| 亚洲一区二区三区四区在线| 欧美顶级少妇做爰| 精品一区二区免费| 国产精品成人在线观看 | 88在线观看91蜜桃国自产| 日本sm残虐另类| 国产午夜亚洲精品午夜鲁丝片| 成人夜色视频网站在线观看| 亚洲精品免费视频| 日韩色视频在线观看| 中文字幕第一区综合| 性久久久久久久久久久久| 欧美日韩免费观看一区三区| 婷婷成人综合网| 国产三级精品视频| 欧美视频一二三区| 国产乱子伦视频一区二区三区 |