4

Windows 7 有一个(简洁的?)新功能,称为“虚拟无线适配器”。在这里阅读:

http://www.istartedsomething.com/20090516/windows-7-native-virtual-wifi-technology-microsoft-research/

我有一个使用本机 Wifi API ( http://msdn.microsoft.com/en-us/library/ms706556%28VS.85%29.aspx ) 直接控制 windows wifi 接口卡的应用程序。请将此问题视为一个给定的问题,即我需要使用此记录的 api 直接控制 wifi 适配器,而不能只由操作系统和用户决定。

Windows 7 虚拟适配器应该包含在任何经过​​批准的 Windows 7 wifi 驱动程序中。那里的驱动程序现在似乎有很多错误,我发现除非我手动禁用虚拟 wifi 适配器,否则真正的适配器在 WLAN api 的命令下将无法可靠地连接到无线接入点。

我的主要问题是“如何检测 Windows 虚拟 wifi 适配器的存在?”

请注意,WlanEnumInterfaces 的文档说:

如果计算机有一个无线网络适配器,此虚拟设备通常在“网络连接文件夹”中显示为“无线网络连接 2”,设备名称为“Microsoft 虚拟 WiFi 微型端口适配器”。此虚拟设备专门用于执行软件接入点 (SoftAP) 连接,并且不在 WlanEnumInterfaces 函数返回的列表中。

我怀疑有 shell api 可能提供控制面板用来显示虚拟适配器的枚举。

为了获得额外的功劳,我如何以编程方式禁用此适配器?

提前致谢。

4

2 回答 2

2

要使用 WLAN api 检测 Windows 7 虚拟适配器,您需要使用 Windows SDK 版本 6.1 中由 wlanapi.h 定义的版本。

您可以使用 WMI 或 netcon.h 中定义的 INetConnection COM 接口启用或禁用网络适配器。

于 2009-09-02T22:12:14.133 回答
0

在控制面板 > 网络和 Internet 中,有一个选项显示:“添加无线设备”。我用它来检测 microsoft 虚拟 wifi 微型端口适配器,因为在我安装 Windows 7 后,它没有出现在网络适配器中,但它在那里并已启用,但未启动。要从以管理员身份运行的命令提示符禁用它,您可以尝试:netsh wlan set hostsnetwork mode=disallow(或不允许,我没有尝试过)。请参阅http://msdn.microsoft.com/en-us/library/dd815243%28VS.85%29.aspx

于 2009-12-09T16:40:30.417 回答