2013-04-23 90 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值以得到类似的结果,并且可能更可靠。