如何使用本机 Wifi API C++获取 MAC 地址和信道信息
How to get MAC address and channel info with Native Wifi API C++
>我有这个:
WLAN_AVAILABLE_NETWORK_LIST *wlanNetworkList = (WLAN_AVAILABLE_NETWORK_LIST*)WlanAllocateMemory(sizeof(WLAN_AVAILABLE_NETWORK_LIST));
我得到有关带有WlanGetAvailableNetworkList()函数的网络的信息。
但是在此信息中没有MAC地址或频道。如何得到它?
我认为您正在寻找的信息在WLAN_BSS_ENTRY
结构中。
也考虑点对点网络)是有意义的,因此,MAC 地址不是网络属性的一部分(不是WLAN_AVAILABLE_NETWORK
结构的数据成员)。
使用 WlanGetNetworkBssList
(msdn 库条目),您可以获取特定网络(通过传递 SSID)或无线 LAN 接口的所有网络的 BSS 条目列表。请注意,此函数查询接入点:
为每个无线网络返回的信息列表还包含基础结构 BSS 网络的每个接入点或独立 BSS 网络(点对点网络)的网络对等方返回的信息元素列表。
顺便说一句:我认为您不需要为 WlanAllocateMemory
的WLAN_AVAILABLE_NETWORK_LIST
结构分配缓冲区.MSDN:
如果调用成功,则返回WLAN_AVAILABLE_NETWORK_LIST的缓冲区由 WlanGetAvailableNetworkList 函数分配。
但是,您必须通过 WlanFreeMemory
释放函数为列表分配的内存。
另请参阅 msdn 库中的示例(该页底部)。
编辑:这个例子有点令人困惑,有一个名为pBssList
的变量,它的类型是PWLAN_AVAIBLE_NETWORK_LIST
的,而不是PWLAN_BSS_LIST
,顾名思义。
也许你会先尝试使用WlanScan。我尝试在汇编中编写WlanApi,goasm。我使用WlanGetNetworkBssList。一切正常,作为回报,我得到了 6 字节的 mac,但只有前 3 个与 Mac 我的路由器相同。我不明白为什么。也许我在 WlanApi.h 中写错了 sruct我还在学习 ASMWlanApi.h我的代码
- 动态获取 esp32 的 mac 地址并在以太网库中使用它.
- 将Wiimote MAC地址转换为PIN码,从C++转换为Python或Javascript
- 读取 MAC 地址时文件读取异常
- OMNET++:如何在INET 4.0中获取帧的源MAC地址?
- 获得MAC地址的代码似乎会损坏内存,但仅在发布构建中而不是调试构建
- 如何在 Windows 中使用 C++ 获取 MAC 地址
- MAC 地址解析
- Boost Regex用于格式化MAC地址字符串
- 从Netsh WLAN获取MAC地址
- Linux C++ 如何以编程方式获取 LAN 上所有适配器的 MAC 地址
- 将格式化的 mac 地址写入字符串流
- 如何在给定设备实例ID的情况下可靠快速地获取网卡的MAC地址
- 用于in_addr结构(IPv4地址)的Mac/Windows不同格式
- 查找 DNS 服务器和网关的 IP 和 MAC 地址
- C 中的蓝牙 MAC 地址
- 正在Mac上的Xcode上尝试C++-ERROR-exc_bad_access(代码=1地址=0x100500000)
- 在字符串向量中创建20000个MAC地址
- 获取系统的唯一标识符(而不是MAC地址)
- 如何使用本机 Wifi API C++获取 MAC 地址和信道信息
- C ++如何将我的命令行参数(MAC地址)转换为无符号字符