在Windows上,如何确定WlanGetAvailableNetworkList()
返回的WLAN WLAN接口连接?
我成功使用Windows 8上的WlanGetAvailableNetworkList()
来扫描WLAN WLAN接入点列表,并确定其SSID,BSSID,信号强度和其他信息。 我正在关注此 MSDN参考页面上的示例。
然而,对于我收到的所有接口WLAN_INTERFACE_INFO
,我无法确定如何分辨当前连接的接入点(即wlan_interface_state_connected
)。
在Mac上,我使用了CoreWLAN
基础上的CoreWLAN
,结果有一个连接的 bssid
字段,我可以与扫描结果中的每个bssid
进行比较,以确定哪个连接。 我正在寻找一个类似的Windows解决scheme。
谢谢!
答 :
答案是使用WlanQueryInterface()
(在操作上与WlanGetAvailableNetworkList()
并行使用)来确定连接的适配器的WLAN_CONNECTION_ATTRIBUTES和WLAN_ASSOCIATION_ATTRIBUTES 。 有一个示例演示了在WlanQueryInterface()
底部的MSDN文档中使用WlanQueryInterface()
。
我通过调用WlanQueryInterface()
来解决问题,以确定connectedSSID
的WLAN WLAN适配器的connectedSSID(如果有的话)。 然后,我将它与WlanGetAvailableNetworkList()
引用的每个适配器的SSID
值进行比较。 匹配项(如果有)确定所连接的扫描的适配器。
注意:我也可以比较BSSID值以得到类似的结果,也可能更可靠。