我在应用程序中添加了创建 wifi 托管网络的功能。我终于得到了在 Windows 7 sdk 上运行的示例应用程序。
我没有找到一种内置方法来获取用于创建托管网络的 wifi 设备的 IP 地址。我需要该地址将服务器绑定到它。
我能想到的唯一方法可能是使用设备的 MAC 地址并将其与机器上所有网络设备列表中的条目匹配?这是唯一的方法吗?由于 wifi 托管设备是虚拟的(根据文档),这是否可行?
看起来有一种方法 (WlanHostedNetworkQueryStatus) 可以获取所使用的 wlan 设备的 MAC 地址和 GUID,但是将其转换为实际 IP 地址的最佳方法却让我望而却步……
我对 C++ 和 Windows 开发还很陌生,所以也许我缺少一些简单的东西。
更新 -
我最终使用IP Helper API将 WLAN GUID 转换为 LUID,然后将LUID 转换为 Index。包含的头文件有点烦人,因为大多数文档似乎都是针对设备驱动程序的。我需要的是。
#include <windows.h>
#include <wlanapi.h>
#include <iphlpapi.h>
#include <netioapi.h>
由于我使用的是 Qt,因此我使用索引来获取 QNetworkInterface 并从中获得 IPv4 地址。它比找出NotifyAddrChange或NotifyIpInterfaceChange更简单,但如果您只是使用 Windows API,其中之一就是要走的路。