• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            如果是XP sp2,而且安裝了Wlanapi.dll,可以直接使用WlanEnumInterfaces枚舉無線網(wǎng)卡


            http://msdn.microsoft.com/en-us/library/ms706716(VS.85).aspx

            The WlanEnumInterfaces function enumerates all of the wireless LAN interfaces currently enabled on the local computer.

            Syntax

            DWORD WINAPI WlanEnumInterfaces(
            __in        HANDLE hClientHandle,
            __reserved  PVOID pReserved,
            __out       PWLAN_INTERFACE_INFO_LIST *ppInterfaceList
            );
            

            Parameters

            hClientHandle [in]

            The client's session handle, obtained by a previous call to the WlanOpenHandle function.

            pReserved [in]

            Reserved for future use. This parameter must be set to NULL.

            ppInterfaceList [out]

            A pointer to storage for a pointer to receive the returned list of wireless LAN interfaces in a WLAN_INTERFACE_INFO_LIST structure.

            The buffer for the WLAN_INTERFACE_INFO_LIST returned is allocated by the WlanEnumInterfaces function if the call succeeds.

            Return Value

            If the function succeeds, the return value is ERROR_SUCCESS.

            If the function fails, the return value may be one of the following return codes.

            Return code Description
            ERROR_INVALID_PARAMETER

            A parameter is incorrect. This error is returned if the hClientHandle or ppInterfaceList parameter is NULL. This error is returned if the pReserved is not NULL. This error is also returned if the hClientHandle parameter is not valid.

            ERROR_INVALID_HANDLE

            The handle hClientHandle was not found in the handle table.

            RPC_STATUS

            Various error codes.

            ERROR_NOT_ENOUGH_MEMORY

            Not enough memory is available to process this request and allocate memory for the query results.

             

            Remarks

            The WlanEnumInterfaces function allocates memory for the list of returned interfaces that is returned in the buffer pointed to by the ppInterfaceList parameter when the function succeeds. The memory used for the buffer pointed to by ppInterfaceList parameter should be released by calling the WlanFreeMemory function after the buffer is no longer needed.

            Examples

            The following example enumerates the wireless LAN interfaces on the local computer and prints values from the retrieved WLAN_INTERFACE_INFO_LIST structure and the enumerated WLAN_INTERFACE_INFO structures.

            Note  This example will fail to load on Windows Server 2008 and Windows Server 2008 R2 if the Wireless LAN Service is not installed and started.

            #ifndef UNICODE
            #define UNICODE
            #endif
            #include <windows.h>
            #include <wlanapi.h>
            #include <objbase.h>
            #include <wtypes.h>
            #include <stdio.h>
            #include <stdlib.h>
            // Need to link with Wlanapi.lib and Ole32.lib
            #pragma comment(lib, "wlanapi.lib")
            #pragma comment(lib, "ole32.lib")
            int wmain()
            {
            // Declare and initialize variables.
            HANDLE hClient = NULL;
            DWORD dwMaxClient = 2;   //
            DWORD dwCurVersion = 0;
            DWORD dwResult = 0;
            int iRet = 0;
            WCHAR GuidString[40] = {0};
            int i;
            /* variables used for WlanEnumInterfaces  */
            PWLAN_INTERFACE_INFO_LIST pIfList = NULL;
            PWLAN_INTERFACE_INFO pIfInfo = NULL;
            dwResult = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient);
            if (dwResult != ERROR_SUCCESS)  {
            wprintf(L"WlanOpenHandle failed with error: %u\n", dwResult);
            // FormatMessage can be used to find out why the function failed
            return 1;
            }
            dwResult = WlanEnumInterfaces(hClient, NULL, &pIfList);
            if (dwResult != ERROR_SUCCESS)  {
            wprintf(L"WlanEnumInterfaces failed with error: %u\n", dwResult);
            // FormatMessage can be used to find out why the function failed
            return 1;
            }
            else {
            wprintf(L"Num Entries: %lu\n", pIfList->dwNumberOfItems);
            wprintf(L"Current Index: %lu\n", pIfList->dwIndex);
            for (i = 0; i < (int) pIfList->dwNumberOfItems; i++) {
            pIfInfo = (WLAN_INTERFACE_INFO *) &pIfList->InterfaceInfo[i];
            wprintf(L"  Interface Index[%d]:\t %lu\n", i, i);
            iRet = StringFromGUID2(pIfInfo->InterfaceGuid, (LPOLESTR) &GuidString, 39);
            // For c rather than C++ source code, the above line needs to be
            // iRet = StringFromGUID2(&pIfInfo->InterfaceGuid, (LPOLESTR) &GuidString, 39);
            if (iRet == 0)
            wprintf(L"StringFromGUID2 failed\n");
            else {
            wprintf(L"  InterfaceGUID[%d]: %ws\n",i, GuidString);
            }
            wprintf(L"  Interface Description[%d]: %ws", i,
            pIfInfo->strInterfaceDescription);
            wprintf(L"\n");
            wprintf(L"  Interface State[%d]:\t ", i);
            switch (pIfInfo->isState) {
            case wlan_interface_state_not_ready:
            wprintf(L"Not ready\n");
            break;
            case wlan_interface_state_connected:
            wprintf(L"Connected\n");
            break;
            case wlan_interface_state_ad_hoc_network_formed:
            wprintf(L"First node in a ad hoc network\n");
            break;
            case wlan_interface_state_disconnecting:
            wprintf(L"Disconnecting\n");
            break;
            case wlan_interface_state_disconnected:
            wprintf(L"Not connected\n");
            break;
            case wlan_interface_state_associating:
            wprintf(L"Attempting to associate with a network\n");
            break;
            case wlan_interface_state_discovering:
            wprintf(L"Auto configuration is discovering settings for the network\n");
            break;
            case wlan_interface_state_authenticating:
            wprintf(L"In process of authenticating\n");
            break;
            default:
            wprintf(L"Unknown state %ld\n", pIfInfo->isState);
            break;
            }
            wprintf(L"\n");
            }
            }
            if (pIfList != NULL) {
            WlanFreeMemory(pIfList);
            pIfList = NULL;
            }
            return 0;
            }
            

            Requirements

            Minimum supported client

            Windows Vista, Windows XP with SP3

            Minimum supported server

            Windows Server 2008

            Redistributable

            Wireless LAN API for Windows XP with SP2

            Header

            Wlanapi.h (include Wlanapi.h)

            Library

            Wlanapi.lib

            DLL

            Wlanapi.dll

            posted on 2010-12-16 09:01 wrh 閱讀(2653) 評論(0)  編輯 收藏 引用

            導航

            <2008年12月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            統(tǒng)計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            97久久综合精品久久久综合| 无码精品久久一区二区三区| 亚洲精品无码久久一线| 国内精品人妻无码久久久影院导航| 欧美性猛交xxxx免费看久久久| 久久亚洲精品成人无码网站| 久久亚洲国产成人精品性色| 久久国产高清字幕中文| 欧美综合天天夜夜久久| 久久综合九色综合欧美就去吻| 亚洲va久久久噜噜噜久久狠狠| 精品综合久久久久久97超人| 久久婷婷是五月综合色狠狠| 国产精品美女久久久久| 日本亚洲色大成网站WWW久久| 久久香综合精品久久伊人| 久久精品国产99久久丝袜| 久久人爽人人爽人人片AV| 久久婷婷五月综合色99啪ak| 国产精品18久久久久久vr | 狠狠久久综合伊人不卡| 久久久国产亚洲精品| 国产成人99久久亚洲综合精品 | 久久香综合精品久久伊人| 9191精品国产免费久久| 久久精品国产亚洲77777| 欧美久久一区二区三区| 国产综合免费精品久久久| 久久国产精品77777| 久久久久久久免费视频| 热久久国产欧美一区二区精品| 日本免费一区二区久久人人澡| 中文字幕久久久久人妻| 久久青青色综合| 久久综合偷偷噜噜噜色| 久久久久亚洲av毛片大| 99久久精品免费看国产一区二区三区| 成人久久久观看免费毛片| 国产精品久久久久久久| 国产精品岛国久久久久| 精品久久久久久久久午夜福利|