4

在 Windows 上,如何确定WlanGetAvailableNetworkList()连接的是哪个 Wifi WLAN 接口?

WlanGetAvailableNetworkList()在 Windows 8 上成功使用扫描 Wifi WLAN 接入点列表并确定其 SSID、BSSID、信号强度和其他信息。我正在关注MSDN 参考页面上的示例。

然而,对于WLAN_INTERFACE_INFO我收到的所有接口,我无法确定如何判断当前连接的是哪个接入点(如果有)(即wlan_interface_state_connected)。

在 Mac 上,我scanForNetworksWithSSIDCoreWLAN基础开始使用,结果有一个连接 bssid字段,我可以将其与bssid扫描结果中的每个字段进行比较,以确定其中哪一个是连接的。我正在寻找类似的 Windows 解决方案。

谢谢!

4

1 回答 1

4

答案

答案是使用WlanQueryInterface()(操作上与 类似并与之并行使用WlanGetAvailableNetworkList())来确定所连接适配器的WLAN_CONNECTION_ATTRIBUTESWLAN_ASSOCIATION_ATTRIBUTES在本页WlanQueryInterface()底部的 MSDN 文档中有一个示例演示了 的使用。

我通过调用WlanQueryInterface()确定connectedSSID连接的 Wifi WLAN 适配器(如果有)解决了这个问题。然后,我将它与 中SSID引用的每个适配器的值进行比较WlanGetAvailableNetworkList()。匹配项(如果有)确定已连接的扫描适配器。

注意:我也可以比较 BSSID 值以获得类似且可能更可靠的结果。

于 2013-04-24T01:48:08.300 回答