2013-04-23 109 views
3

在Windows上,如何確定由WlanGetAvailableNetworkList()返回的WLAN WLAN接口連接?如何使用C/C++在Windows中確定連接的WLAN WLAN接口?

我在Windows 8上成功使用WlanGetAvailableNetworkList()來掃描Wifi WLAN接入點列表並確定其SSID,BSSID,信號強度和其他信息。我正在關注this MSDN參考頁面上的示例。

然而,對於我收到的所有接口WLAN_INTERFACE_INFO,我無法確定如何確定當前連接哪個接入點(即wlan_interface_state_connected)。

在Mac上,我用scanForNetworksWithSSIDCoreWLAN基礎,結果有連接bssid場,我可以與每個bssid從掃描結果進行比較,以確定它們中的哪一個連接。我正在尋找一個類似的Windows解決方案。

謝謝!

回答

3

回答

的答案是使用WlanQueryInterface()(操作上類似於且平行WlanGetAvailableNetworkList()使用),以確定WLAN_CONNECTION_ATTRIBUTES和連接的適配器的WLAN_ASSOCIATION_ATTRIBUTES。在this頁面底部的MSDN文檔中有一個示例演示如何使用WlanQueryInterface()

我通過調用WlanQueryInterface()來確定連接的WLAN WLAN適配器的connectedSSID(如果有),我解決了該問題。然後,我將它與WlanGetAvailableNetworkList()中引用的每個適配器的SSID值進行比較。匹配項(如果有)確定所連接的掃描適配器。

注意:我也可以比較BSSID值以得到類似的結果,並且可能更可靠。