On Windows, how can I determine which Wifi WLAN interface returned by WlanGetAvailableNetworkList() is connected?
我在Windows 8上成功使用 WlanGetAvailableNetworkList()
扫描Wifi WLAN接入点列表并确定其SSID,BSSID,信号强度和其他信息 . 我正在关注this MSDN参考页面上的示例 .
然而,对于我收到的所有接口,我无法确定如何判断当前连接的接入点(即 wlan_interface_state_connected
) .
在Mac上,我使用 CoreWLAN
基础中的 scanForNetworksWithSSID
,结果有一个连接的 bssid
字段,我可以从扫描结果中与每个 bssid
进行比较,以确定它们中的哪一个是连接的 . 我正在寻找类似的Windows解决方案 .
谢谢!
1 回答
Answer :
答案是使用
WlanQueryInterface()
(操作上类似于并与_2783912并行使用)来确定连接适配器的WLAN_CONNECTION_ATTRIBUTES和WLAN_ASSOCIATION_ATTRIBUTES . 有一个示例演示了在this页面底部的MSDN文档中使用WlanQueryInterface()
.我通过调用
WlanQueryInterface()
来确定所连接的Wifi WLAN适配器的connectedSSID
(如果有的话),从而解决了这个问题 . 然后,我将它与WlanGetAvailableNetworkList()
中引用的每个适配器的SSID
值进行比较 . 匹配(如果有)确定已连接的扫描适配器 .注意:我也可以比较BSSID值以获得类似且可能更可靠的结果 .