• <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枚舉無線網卡


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

            導航

            <2009年3月>
            22232425262728
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            狠狠综合久久综合中文88| 久久久久久狠狠丁香| 精品久久久久久久久久中文字幕 | 性高湖久久久久久久久AAAAA| 99蜜桃臀久久久欧美精品网站| 国产精品久久久久乳精品爆| 久久婷婷国产麻豆91天堂| 国产精品久久久亚洲| 色综合久久最新中文字幕| 大香网伊人久久综合网2020| 久久久久亚洲AV无码专区网站 | 亚洲国产成人久久精品动漫| 欧美亚洲国产精品久久蜜芽| 国产成人精品久久| 区久久AAA片69亚洲| 亚洲国产另类久久久精品黑人| 久久人人爽人人爽人人片av高请| 人妻丰满AV无码久久不卡| 91久久成人免费| 久久这里只有精品18| 久久精品亚洲福利| 久久青青草原精品国产| 久久精品国产亚洲麻豆| 国产99久久久国产精品小说| 国产99久久九九精品无码| 亚洲国产精品无码久久久蜜芽 | 久久九九青青国产精品| 久久人人爽人人爽人人片AV不| 久久精品中文字幕一区| 亚洲中文久久精品无码| 免费久久人人爽人人爽av| 国产成人综合久久精品尤物| 精品久久无码中文字幕| 国内精品久久久久影院薰衣草 | 狼狼综合久久久久综合网| 久久人人超碰精品CAOPOREN| 久久国产精品成人影院| 久久精品无码专区免费东京热| 日韩精品无码久久一区二区三| 久久99精品国产麻豆蜜芽| 久久久久久久97|