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

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

?? wlsample.cpp

?? 對wifi編程有很大的幫助作用
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/*++

Copyright (c) 2006 Microsoft Corporation

Module Name:

    wlsample.cpp

Abstract:

    Sample code for WLAN APIs

Date:
	11/08/2005  created
    08/22/2006  modified

Environment:

   User mode only

--*/
// define this flag for COM
#define _WIN32_DCOM

#include <windows.h>
#include <conio.h>
#include <objbase.h>
#include <rpcsal.h>
#include <objbase.h>
#include <msxml6.h>
#include <atlbase.h>
#include <iostream>
#include <iomanip>
// headers needed to use WLAN APIs 
#include <wlanapi.h>

using namespace std;

// get win32 error from HRESULT
#define WIN32_FROM_HRESULT(hr)           \
    (SUCCEEDED(hr) ? ERROR_SUCCESS :    \
        (HRESULT_FACILITY(hr) == FACILITY_WIN32 ? HRESULT_CODE(hr) : (hr)))


//
// Utility functions
//

// get interface state string
LPWSTR
GetInterfaceStateString(
    __in WLAN_INTERFACE_STATE wlanInterfaceState
)
{
    LPWSTR strRetCode;

    switch(wlanInterfaceState)
    {
        case wlan_interface_state_not_ready:
            strRetCode = L"\"not ready\"";
            break;
        case wlan_interface_state_connected:
            strRetCode = L"\"connected\"";
            break;
        case wlan_interface_state_ad_hoc_network_formed:
            strRetCode = L"\"ad hoc network formed\"";
            break;
        case wlan_interface_state_disconnecting:
            strRetCode = L"\"disconnecting\"";
            break;
        case wlan_interface_state_disconnected:
            strRetCode = L"\"disconnected\"";
            break;
        case wlan_interface_state_associating:
            strRetCode = L"\"associating\"";
            break;
        case wlan_interface_state_discovering:
            strRetCode = L"\"discovering\"";
            break;
        case wlan_interface_state_authenticating:
            strRetCode = L"\"authenticating\"";
            break;
        default:
            strRetCode = L"\"invalid interface state\"";
    }

    return strRetCode;
}

// get ACM notification string
LPWSTR
GetAcmNotificationString(
    __in DWORD acmNotif
)
{
    LPWSTR strRetCode;

    switch(acmNotif)
    {
        case wlan_notification_acm_autoconf_enabled:
            strRetCode = L"\"autoconf enabled\"";
            break;
        case wlan_notification_acm_autoconf_disabled:
            strRetCode = L"\"autoconf disabled\"";
            break;
        case wlan_notification_acm_background_scan_enabled:
            strRetCode = L"\"background scan enabled\"";
            break;
        case wlan_notification_acm_background_scan_disabled:
            strRetCode = L"\"background scan disabled\"";
            break;
        case wlan_notification_acm_power_setting_change:
            strRetCode = L"\"power setting change\"";
            break;
        case wlan_notification_acm_scan_complete:
            strRetCode = L"\"scan complete\"";
            break;
        case wlan_notification_acm_scan_fail:
            strRetCode = L"\"scan fail\"";
            break;
        case wlan_notification_acm_connection_start:
            strRetCode = L"\"connection start\"";
            break;
        case wlan_notification_acm_connection_complete:
            strRetCode = L"\"connection complete\"";
            break;
        case wlan_notification_acm_connection_attempt_fail:
            strRetCode = L"\"connection fail\"";
            break;
        case wlan_notification_acm_filter_list_change:
            strRetCode = L"\"filter list change\"";
            break;
        case wlan_notification_acm_interface_arrival:
            strRetCode = L"\"interface arrival\"";
            break;
        case wlan_notification_acm_interface_removal:
            strRetCode = L"\"interface removal\"";
            break;
        case wlan_notification_acm_profile_change:
            strRetCode = L"\"profile change\"";
            break;
        case wlan_notification_acm_profiles_exhausted:
            strRetCode = L"\"profiles exhausted\"";
            break;
        case wlan_notification_acm_network_not_available:
            strRetCode = L"\"network not available\"";
            break;
        case wlan_notification_acm_network_available:
            strRetCode = L"\"network available\"";
            break;
        case wlan_notification_acm_disconnecting:
            strRetCode = L"\"disconnecting\"";
            break;
        case wlan_notification_acm_disconnected:
            strRetCode = L"\"disconnected\"";
            break;
        case wlan_notification_acm_adhoc_network_state_change:
            strRetCode = L"\"ad hoc network state changes\"";
            break;
        default:
            strRetCode = L"\"unknown ACM notification\"";
    }

    return strRetCode;
}

// get MSMM notification string
LPWSTR
GetMsmNotificationString(
    __in DWORD msmNotif
)
{
    LPWSTR strRetCode;

    switch(msmNotif)
    {
        case wlan_notification_msm_associating:
            strRetCode = L"\"associating\"";
            break;
        case wlan_notification_msm_associated:
            strRetCode = L"\"associated\"";
            break;
        case wlan_notification_msm_authenticating:
            strRetCode = L"\"authenticating\"";
            break;
        case wlan_notification_msm_connected:
            strRetCode = L"\"connected\"";
            break;
        case wlan_notification_msm_roaming_start:
            strRetCode = L"\"roaming start\"";
            break;
        case wlan_notification_msm_roaming_end:
            strRetCode = L"\"roaming end\"";
            break;
        case wlan_notification_msm_radio_state_change:
            strRetCode = L"\"radio state change\"";
            break;
        case wlan_notification_msm_signal_quality_change:
            strRetCode = L"\"signal quality change\"";
            break;
        case wlan_notification_msm_disassociating:
            strRetCode = L"\"disassociating\"";
            break;
        case wlan_notification_msm_disconnected:
            strRetCode = L"\"disconnected\"";
            break;
        case wlan_notification_msm_peer_join:
            strRetCode = L"\"a peer joins the ad hoc network\"";
            break;
        case wlan_notification_msm_peer_leave:
            strRetCode = L"\"a peer leaves the ad hoc network\"";
            break;
        case wlan_notification_msm_adapter_removal:
            strRetCode = L"\"adapter is in a bad state\"";
            break;
        default:
            strRetCode = L"\"unknown MSM notification\"";
    }

    return strRetCode;
}

// get connection mode string
LPWSTR
GetConnectionModeString(
    __in WLAN_CONNECTION_MODE wlanConnMode
)
{
    LPWSTR strRetCode;

    switch(wlanConnMode)
    {
        case wlan_connection_mode_profile:
            strRetCode = L"\"manual connection with a profile\"";
            break;
        case wlan_connection_mode_temporary_profile:
            strRetCode = L"\"manual connection with a temporary profile\"";
            break;
        case wlan_connection_mode_discovery_secure:
            strRetCode = L"\"connection to a secure network without a profile\"";
            break;
        case wlan_connection_mode_discovery_unsecure:
            strRetCode = L"\"connection to an unsecure network without a profile\"";
            break;
        case wlan_connection_mode_auto:
            strRetCode = L"\"automatic connection with a profile\"";
            break;
        default:
            strRetCode = L"\"invalid connection mode\"";
    }

    return strRetCode;
}

// get PHY type string
LPWSTR 
GetPhyTypeString(
    __in ULONG uDot11PhyType
)
{
    LPWSTR strRetCode;

    switch(uDot11PhyType)
    {
        case dot11_phy_type_dsss:
            strRetCode = L"\"DSSS\"";
            break;
        case dot11_phy_type_erp:
            strRetCode = L"\"802.11g\"";
            break;
        case dot11_phy_type_fhss:
            strRetCode = L"\"FHSS\"";
            break;
        case dot11_phy_type_hrdsss:
            strRetCode = L"\"802.11b\"";
            break;
        case dot11_phy_type_irbaseband:
            strRetCode = L"\"IR-base band\"";
            break;
        case dot11_phy_type_ofdm:
            strRetCode = L"\"802.11a\"";
            break;
        case dot11_phy_type_any:
            strRetCode = L"\"any\"";
            break;
        default:
            strRetCode = L"\"Unknown PHY type\"";
    }

    return strRetCode;
}

// get BSS type string
LPWSTR 
GetBssTypeString(
    __in DOT11_BSS_TYPE dot11BssType
)
{
    LPWSTR strRetCode;

    switch(dot11BssType)
    {
        case dot11_BSS_type_infrastructure:
            strRetCode = L"\"Infrastructure\"";
            break;
        case dot11_BSS_type_independent:
            strRetCode = L"\"Ad hoc\"";
            break;
        case dot11_BSS_type_any:
            strRetCode = L"\"Any\"";
            break;
        default:
            strRetCode = L"\"Unknown BSS type\"";
    }

    return strRetCode;
}

// get radio state string
LPWSTR
GetRadioStateString(
    __in DOT11_RADIO_STATE radioState
)
{
    LPWSTR strRetCode;

    switch(radioState)
    {
        case dot11_radio_state_on:
            strRetCode = L"\"on\"";
            break;
        case dot11_radio_state_off:
            strRetCode = L"\"off\"";
            break;
        default:
            strRetCode = L"\"unknown state\"";
    }

    return strRetCode;
}


// get auth algorithm string
LPWSTR 
GetAuthAlgoString(
    __in DOT11_AUTH_ALGORITHM dot11AuthAlgo
)
{
    LPWSTR strRetCode = L"\"Unknown algorithm\"";

    switch(dot11AuthAlgo)
    {
        case DOT11_AUTH_ALGO_80211_OPEN:
            strRetCode = L"\"Open\"";
            break;
        case DOT11_AUTH_ALGO_80211_SHARED_KEY:
            strRetCode = L"\"Shared\"";
            break;
        case DOT11_AUTH_ALGO_WPA:
            strRetCode = L"\"WPA-Enterprise\"";
            break;
        case DOT11_AUTH_ALGO_WPA_PSK:
            strRetCode = L"\"WPA-Personal\"";
            break;
        case DOT11_AUTH_ALGO_WPA_NONE:
            strRetCode = L"\"WPA-NONE\"";
            break;
        case DOT11_AUTH_ALGO_RSNA:
            strRetCode = L"\"WPA2-Enterprise\"";
            break;
        case DOT11_AUTH_ALGO_RSNA_PSK:
            strRetCode = L"\"WPA2-Personal\"";
            break;
        default:
            if (dot11AuthAlgo & DOT11_AUTH_ALGO_IHV_START)
            {
                strRetCode = L"\"Vendor-specific algorithm\"";
            }
    }

    return strRetCode;
}

// get cipher algorithm string
LPWSTR 
GetCipherAlgoString(
    __in DOT11_CIPHER_ALGORITHM dot11CipherAlgo
)
{
    LPWSTR strRetCode = L"\"Unknown algorithm\"";

    switch(dot11CipherAlgo)
    {
        case DOT11_CIPHER_ALGO_NONE:
            strRetCode = L"\"None\"";
            break;
        case DOT11_CIPHER_ALGO_WEP40:
            strRetCode = L"\"WEP40\"";
            break;
        case DOT11_CIPHER_ALGO_TKIP:
            strRetCode = L"\"TKIP\"";
            break;
        case DOT11_CIPHER_ALGO_CCMP:
            strRetCode = L"\"AES\"";
            break;
        case DOT11_CIPHER_ALGO_WEP104:
            strRetCode = L"\"WEP104\"";
            break;
        case DOT11_CIPHER_ALGO_WPA_USE_GROUP:
            strRetCode = L"\"USE-GROUP\"";
            break;
        case DOT11_CIPHER_ALGO_WEP:
            strRetCode = L"\"WEP\"";
            break;
        default:
            if (dot11CipherAlgo & DOT11_CIPHER_ALGO_IHV_START)
            {
                strRetCode = L"\"Vendor-specific algorithm\"";
            }
    }

    return strRetCode;
}

// get SSID from the WCHAR string
DWORD
StringWToSsid(
    __in LPCWSTR strSsid, 
    __out PDOT11_SSID pSsid
)
{
    DWORD dwRetCode = ERROR_SUCCESS;
    BYTE pbSsid[DOT11_SSID_MAX_LENGTH + 1] = {0};

    if (strSsid == NULL || pSsid == NULL)
    {
        dwRetCode = ERROR_INVALID_PARAMETER;
    }
    else
    {
        pSsid->uSSIDLength = WideCharToMultiByte (CP_ACP,
                                                   0,
                                                   strSsid,
                                                   -1,
                                                   (LPSTR)pbSsid,
                                                   sizeof(pbSsid),
                                                   NULL,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产九色精品成人porny | 亚洲欧美视频在线观看视频| 国产精品国产三级国产普通话99| 天堂成人国产精品一区| av色综合久久天堂av综合| 欧美精品久久天天躁| 亚洲老司机在线| 成人午夜视频免费看| 精品久久久久久久久久久院品网| 亚洲综合一区二区| 成人精品高清在线| 久久久久久一二三区| 日韩激情一区二区| 在线免费观看日韩欧美| 亚洲人妖av一区二区| 国产精品一区二区三区网站| av不卡在线观看| 26uuu另类欧美| 国产精品无码永久免费888| 91精品欧美一区二区三区综合在| 中文字幕一区二区三区色视频| 日本特黄久久久高潮| 欧美精品第一页| 亚洲精品国产视频| 91视频免费看| 亚洲欧美一区二区三区极速播放 | 99久久精品情趣| 久久久久久久av麻豆果冻| 久久99九九99精品| 2023国产一二三区日本精品2022| 麻豆久久一区二区| 日韩欧美第一区| 欧美日韩1区2区| 中文文精品字幕一区二区| 久久精品噜噜噜成人88aⅴ| 国产精品美女久久久久久久网站| 日韩专区中文字幕一区二区| 欧美日韩一区小说| 性欧美疯狂xxxxbbbb| 欧美精品一卡二卡| 九一久久久久久| 国产精品毛片大码女人| 不卡的av网站| 亚洲大片精品永久免费| 91精品国产91久久久久久最新毛片| 亚洲电影视频在线| 日韩一卡二卡三卡| 国产美女主播视频一区| 中文字幕日韩精品一区| 91福利小视频| 日韩不卡一区二区三区 | 性久久久久久久| 欧美人妇做爰xxxⅹ性高电影| 肉丝袜脚交视频一区二区| 欧美一区二区播放| 国产成人精品午夜视频免费| 亚洲视频在线一区| 欧美日韩国产综合一区二区| 毛片一区二区三区| 国产女人18毛片水真多成人如厕 | 欧亚洲嫩模精品一区三区| 图片区小说区区亚洲影院| 久久一夜天堂av一区二区三区| av电影天堂一区二区在线| 日韩**一区毛片| 国产精品久久毛片a| 欧美日韩国产美| 高清不卡在线观看| 调教+趴+乳夹+国产+精品| 久久精品亚洲国产奇米99| www.亚洲免费av| 亚洲大片免费看| 久久亚洲捆绑美女| 欧美色精品天天在线观看视频| 美女免费视频一区| 洋洋成人永久网站入口| 色综合久久88色综合天天免费| 日韩一级视频免费观看在线| 成人性生交大片| 免费观看一级特黄欧美大片| 亚洲视频免费看| 欧美精品一区二区三区四区| 在线精品视频小说1| 国产盗摄精品一区二区三区在线| 天天做天天摸天天爽国产一区| 中文字幕成人av| 精品国产三级电影在线观看| 欧美老肥妇做.爰bbww| 成熟亚洲日本毛茸茸凸凹| 久久精品噜噜噜成人av农村| 亚洲激情中文1区| 国产精品久久久久久久蜜臀| 久久蜜臀中文字幕| 日韩欧美亚洲国产精品字幕久久久| 在线免费不卡电影| 色综合天天综合网天天看片| 成人午夜视频在线观看| 国产中文一区二区三区| 天堂成人国产精品一区| 亚洲线精品一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 精品国产乱码久久久久久图片 | 国产日韩欧美不卡在线| 日本最新不卡在线| 亚洲免费观看视频| 国产精品视频观看| 久久久久久电影| 26uuu久久天堂性欧美| 日韩一区二区三区视频在线观看| 欧美在线免费播放| 91行情网站电视在线观看高清版| 欧美精品aⅴ在线视频| 秋霞电影网一区二区| 日韩国产成人精品| 日韩电影免费在线看| 日韩 欧美一区二区三区| 日韩国产一二三区| 美女一区二区三区| 麻豆久久一区二区| 国产老妇另类xxxxx| 粉嫩aⅴ一区二区三区四区 | 91精品欧美一区二区三区综合在| 中文幕一区二区三区久久蜜桃| 亚洲午夜一二三区视频| 欧美va亚洲va在线观看蝴蝶网| 91香蕉视频污在线| 欧美日韩国产综合一区二区| 国产精品乱码妇女bbbb| 美女视频黄 久久| 日韩视频123| 黄色精品一二区| 久久久久国产精品厨房| 91丨九色丨蝌蚪富婆spa| 日韩一区有码在线| 久久久久久久免费视频了| 青青草精品视频| 亚洲一区二区三区四区五区中文| 国产午夜精品一区二区| 欧美一级夜夜爽| 欧美人狂配大交3d怪物一区| 91国偷自产一区二区开放时间| 成人一区二区视频| 成人中文字幕合集| 风间由美一区二区三区在线观看 | 欧美激情艳妇裸体舞| 精品少妇一区二区三区免费观看 | 国产精品久久久久四虎| 欧美va亚洲va| 717成人午夜免费福利电影| 欧美性生活久久| 在线免费观看日本欧美| 在线观看一区二区视频| 91国产福利在线| 欧美日韩一区不卡| 欧美精品久久99| 欧美一区二区三区不卡| 日韩一区二区麻豆国产| 欧美大黄免费观看| 久久精品视频在线免费观看| 国产日韩精品一区二区三区在线| 久久久99精品免费观看| 国产偷国产偷精品高清尤物 | 一区二区三区中文字幕精品精品 | 日韩精品自拍偷拍| 欧美日韩国产高清一区二区| 欧美午夜一区二区| 欧美日韩在线一区二区| 精品亚洲成a人在线观看| 欧美理论片在线| 久久婷婷久久一区二区三区| 欧美精品一区二区高清在线观看| 日韩欧美电影在线| 亚洲国产精华液网站w| 最新热久久免费视频| 亚洲午夜激情网站| 精品影视av免费| 国产福利一区二区三区视频在线| 成人免费看的视频| 欧美三级三级三级爽爽爽| 欧美电影免费观看高清完整版在线 | wwww国产精品欧美| 亚洲欧美另类小说| 日本午夜一本久久久综合| 国产美女视频91| 亚洲在线视频网站| 成人免费av在线| 欧美v日韩v国产v| 激情都市一区二区| 亚洲一区二区三区美女| 久久精品99国产精品| 国产a区久久久| 欧美日韩免费不卡视频一区二区三区| 日韩欧美色电影| 一区二区三区欧美日韩| 国内精品伊人久久久久影院对白| 91视频.com| 欧美国产激情二区三区| 免费成人在线观看| 91网上在线视频| 久久中文字幕电影|