USB 2.0 标准支持禁用单个集线器端口。我正在寻找从 Windows 8 下的用户代码调用的 API,特别是使用现有的 Windows 用户模式驱动程序在 C# 或 C++ 中禁用集线器端口。
看起来禁用集线器端口的 IOCTL 在 WDF 中已被弃用。
我已经构建并使用了 DevCon - 它会通过 DDK 禁用设备,但不会禁用集线器端口。
WinUSB 是一个强大的接口,需要将 WinUSB.sys 指定为您的驱动程序堆栈。但是,我不认为它的库 setupapi.lib 和 winusb.lib 提供这种级别的集线器控制。
我真的很感激在 Windows 8 中指向正确的用户模式 API,尤其是 C# 接口。如果不存在这样的 API,那么了解这也将非常有帮助。
-- 添加了 6/3:由于没有出现这方面的信息,我们现在正在研究一种基于软件的银行切换算法,该算法可以直接禁用和重新启用设备。我们希望能够以任意大小构建它,但当然该技术目前尚未得到证实。我会保持这个线程的最新进展。