【发布时间】:2019-03-08 15:15:57
【问题描述】:
我正在使用GetAdaptersAddresses Win32 API 枚举计算机的 MAC 地址,该 API 返回该计算机上所有适配器的列表。
当用户打开 WiFi 时,列表包含三个新元素:
- XXXXXXXXFCD8:实际 WiFi(英特尔)
- XXXXXXXXXFCDA:微软虚拟 WiFi
- XXXXXXXXXFCDA:微软虚拟 WiFi
MAC 地址的开头已被编辑,但除了最后一位翻转了一位之外,它们都是相同的。我知道这两张虚拟 WiFi 卡来自 Wireless Hosted Network 功能,但我不能要求每个用户都将其关闭。
因为我只对实际的 WiFi 卡感兴趣,所以我试图找到一种方法来可靠地识别两个“Microsoft Virtual WiFi”卡。我查看了IP_ADAPTER_ADDRESSES 结构的各个成员,这些成员给了我以下信息。
真正的 WiFi:
FriendlyName = Connexion réseau sans fil 4
AdapterName = {57DA33EE-F8E2-4F2C-B989-12EEB680CD64}
Description = Intel(R) Dual Band Wireless-AC 7260 #2
PhysicalAddressLength = 6
PhysicalAddress = 0000XXXXXXXXFCD8
Flags = 01E5
IfType = 71
TunnelType = 0
OperStatus = 1
第一个虚拟 WiFi:
FriendlyName = Connexion réseau sans fil 5
AdapterName = {7E6DCD1E-BFBB-41AF-A4B1-467C2FFB5D5E}
Description = Microsoft Virtual WiFi Miniport Adapter #3
PhysicalAddressLength = 6
PhysicalAddress = 0000XXXXXXXXFCDA
Flags = 01C5
IfType = 71
TunnelType = 0
OperStatus = 2
第二个虚拟 WiFi
FriendlyName = Connexion réseau sans fil 6
AdapterName = {CC263A05-8034-46C9-9060-FC353D9BBBCB}
Description = Microsoft Virtual WiFi Miniport Adapter #4
PhysicalAddressLength = 6
PhysicalAddress = 0000XXXXXXXXFCDA
Flags = 01C5
IfType = 71
TunnelType = 0
OperStatus = 2
如您所见,除了似乎没有本地化的Description,我看不出这三个网卡之间有任何区别。
您是否知道另一个 API 可以让我检查给定适配器是否来自“无线托管网络”功能?
如果不是,您认为在Description 成员中搜索Microsoft Virtual WiFi 会是一种时间弹性的方式吗?
【问题讨论】:
-
在您的输出中,标志不一样。