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