问题标签 [wlanapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

c++ - wlanapi - WlanFreeMemory 会释放它的 WLAN_INTERFACE_INFO 数组结构吗?

我在以下代码中使用了 Microsoft 的 WLAN API(我只留下了示例中的相关部分):

WLAN_INTERFACE_INFO_LIST结构体

WLAN_INTERFACE_INFO结构体

WlanEnumInterfaces()功能

WlanFreeMemory()功能

我正在将位于 中的活动界面保存pIntfList->InterfaceInfo[i]pIfInfo.

还会WlanFreeMemory(pIfList)释放pIfInfo并使这个变量无用吗?还是在执行时将其值复制到新结构中pIfInfo = pIntfList->InterfaceInfo[i]

有什么办法可以避免保留整个WLAN_INTERFACE_INFOstruct 变量而只保留一个PWLAN_INTERFACE_INFO?

0 投票
1 回答
337 浏览

c# - 断开用户与托管网络的连接

此代码 (c# wpf) 使用 wlanapi.dll 创建一个 wlan 热点。是否可以通过 MAC 将用户与我的托管网络断开连接或将其列入黑名单?

0 投票
1 回答
126 浏览

wlanapi - 如何使用 wlanapi 知道配置文件是否连接到无线网络

我在 wlan api 中找不到知道配置文件是否连接到网络的功能。

WlanGetAvailableNetworkList 仅提供与配置文件关联的网络。

谢谢你的帮助。

0 投票
1 回答
361 浏览

windows - 如何获取新可用 Wifi 网络的通知

有没有办法在检测到新的 Wifi 网络时获得通知?

我浏览了 Native Wifi API Reference 并找到了WlanRegisterNotification函数,但我不确定它是否包含我正在寻找的内容。这句话没有提及。

0 投票
1 回答
1257 浏览

c++ - 用c ++(WLANAPI)获取Windows wifi托管网络设备的IP地址

我在应用程序中添加了创建 wifi 托管网络的功能。我终于得到了在 Windows 7 sdk 上运行的示例应用程序

我没有找到一种内置方法来获取用于创建托管网络的 wifi 设备的 IP 地址。我需要该地址将服务器绑定到它。

我能想到的唯一方法可能是使用设备的 MAC 地址并将其与机器上所有网络设备列表中的条目匹配?这是唯一的方法吗?由于 wifi 托管设备是虚拟的(根据文档),这是否可行?

看起来有一种方法 (WlanHostedNetworkQueryStatus) 可以获取所使用的 wlan 设备的 MAC 地址和 GUID,但是将其转换为实际 IP 地址的最佳方法却让我望而却步……

我对 C++ 和 Windows 开发还很陌生,所以也许我缺少一些简单的东西。

更新 -

我最终使用IP Helper API将 WLAN GUID 转换为 LUID,然后将LUID 转换为 Index。包含的头文件有点烦人,因为大多数文档似乎都是针对设备驱动程序的。我需要的是。

由于我使用的是 Qt,因此我使用索引来获取 QNetworkInterface 并从中获得 IPv4 地址。它比找出NotifyAddrChangeNotifyIpInterfaceChange更简单,但如果您只是使用 Windows API,其中之一就是要走的路。

0 投票
1 回答
554 浏览

c++ - WlanConnect 连接尝试失败

我正在尝试使用WlanConnect功能连接到不安全的网络。它正在回归ERROR_SUCCESS,到目前为止一切都很好。

在我的通知回调中,我WLAN_NOTIFICATION_ACM_CONNECTION_COMPLETE立即收到WLAN_NOTIFICATION_ACM_CONNECTION_ATTEMPT_FAIL.

有人可以给我一个提示,我如何找出导致连接失败的原因?

0 投票
2 回答
63 浏览

c++ - 验证是否应用了 ipconfig

我目前正在开发一种工具,可以在给定情况下自动将用户连接到某些无线热点并对其进行身份验证。为了测试设备是否在强制门户后面,我通过 wininet 发送了一个 http 请求并检查它是否被重定向(是的,我知道 NCSI,但在这种情况下它不能正常工作)。

如果我在获得成功的 wlan 连接的回调后直接这样做,我会收到错误 12007(名称未解析),我认为这是因为 ipconfig 那时没有完全应用。如果我在 Sleep() 中输入 2-3 秒,我不会收到错误消息(因为我的硬件阵容中有更快的设备之一,它可能在其他目标设备上有所不同)。

有没有办法以编程方式检查配置是否已完全应用于界面?

目标操作系统是 Windows 7

在这种情况下,像 Jon 建议的那样重试并不是一个真正可行的选项,因为我必须在防火墙中启用热点注册模式,该模式会在一定数量的网络操作后再次关闭,这就是我想避免这种情况的原因。

0 投票
0 回答
175 浏览

c# - 是否可以使用 C# 而不是 C++ 在 Windows 上访问 HostedNetwork 的 Native Wifi api

托管网络和 ICS 的参考页面链接到用 C++ 编写的参考。我可以跳过 C++ 并使用 C# 和 Windows 窗体应用程序吗?

0 投票
1 回答
567 浏览

c# - 在 Windows 10 上使用 c# 的 WlanGetNetworkBssList

我试图在 Windows 10 下从 C# 桌面应用程序互操作 WlanGetNetworkBssList。在正确检索 WLAN_BSS_LIST 时遇到一些问题。不知道问题出在哪里,我得到的列表是错误的。第一项似乎是正确的,但所有其他的都不是。我希望有一个人可以帮助我。

这些是我使用的结构。我认为问题是错误的结构定义。

0 投票
1 回答
752 浏览

delphi - WlanAPI WlanGetNetworkBssList 返回无效数据

我通过调用 WlanGetNetworkBssList 陷入调试工作中,希望得到一些指点。我的最终目标是构建一个 Wifi 扫描器/分析器工具来帮助我解决远程站点上的网络问题。

我正在使用 Windows 10 (VCL) 下的 Delphi Berlin 10.1 Update 2 使用 Windows Native Wifi API (链接)Delphi/Pascal 接口。

我从一个简单粗暴的测试应用程序 (VCL) 开始,以了解 API 并遇到了调用WlanGetNetworkBssList的问题,因此我创建了一个专注于该问题的小型控制台应用程序。问题是它适用于在命令提示符下运行的控制台应用程序,但不适用于我的 VCL 测试应用程序。这些函数几乎是复制粘贴等效的,并且并排执行代码表明数据是相同的,除了来自 WlanGetNetworkBssList 调用 (pWlanBssList) 的返回数据

问题:由于调用的是外部 DLL,我可以采取哪些步骤来进一步调试并了解 VCL 和控制台应用程序之间的区别。

注意:WlanGetNetworkBssList 有两种操作模式,其中可以提供 SSID 来获取特定 SSID 的 BSSID(接入点的 MAC)。通过传递 NULL 而不是 SSID,API 将返回所有 AP 的 BSSID。传递 NULL 适用于 VLC 和控制台应用程序。当请求特定的 SSID 时会中断。经验证,两个应用的SSID数据结构相同,但返回的数据缓冲区对VCL应用无效。怎么会这样?

控制台应用程序:

VCL 应用程序的相关部分是:

这被称为如下:

比较两个应用程序之间的数据,唯一的区别是结果(pWlanBssList),如下所示(left=console,right=VCL): 在此处输入图像描述