• <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 閱讀(2661) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            <2010年12月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            統(tǒng)計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            99精品久久久久久久婷婷| 久久精品国产黑森林| 亚洲色婷婷综合久久| 日本强好片久久久久久AAA| 国产产无码乱码精品久久鸭| 国产巨作麻豆欧美亚洲综合久久 | 久久人人爽人人爽人人片AV不| 欧美牲交A欧牲交aⅴ久久 | 国产精品久久久久影视不卡| 久久er国产精品免费观看8| 久久亚洲精品无码AV红樱桃| 久久久久亚洲AV综合波多野结衣 | 99久久国产亚洲综合精品| 亚洲综合精品香蕉久久网97| 囯产极品美女高潮无套久久久| 国产一区二区精品久久岳| 久久国产精品一国产精品金尊| 亚洲国产成人乱码精品女人久久久不卡 | 成人妇女免费播放久久久| 国产精品久久久久免费a∨| 久久久中文字幕| 久久99国产综合精品免费| 国产69精品久久久久APP下载| 国产综合免费精品久久久| 久久精品aⅴ无码中文字字幕重口| 亚洲精品乱码久久久久久不卡| 亚洲国产成人久久精品动漫| 久久99国内精品自在现线| 国产麻豆精品久久一二三| 国产精品久久久久jk制服| 一本一本久久a久久综合精品蜜桃| 亚洲精品97久久中文字幕无码| 久久久久久国产精品免费免费| 国产精品美女久久久久av爽| 国产农村妇女毛片精品久久| 欧美亚洲另类久久综合| 久久综合综合久久狠狠狠97色88| 久久精品国产亚洲麻豆| 久久本道久久综合伊人| 怡红院日本一道日本久久| 青青草原1769久久免费播放|