【发布时间】:2017-04-18 20:40:06
【问题描述】:
我正在对仅在拔下并重新插入 PC 上的 USB 端口后才能工作的设备进行故障排除。
与设备对话的应用程序是用 C# 编写的。 所以我需要 C# 或批处理文件等中的编程方式来重置 USB 设备。
到目前为止,我已经尝试使用 devcon.exe 工具,但这似乎与物理删除和添加它的工作不同。
是否可以使用Win32_USBController 以某种方式通过端口控制USB 设备的电源? MSDN Link
也许以类似的方式,我找到了CIM_Controller 类,它具有Reset() 函数。 MSDN Link
除非我弄错了,否则在没有首先创建实际驱动程序的情况下,似乎无法通过库或其他方式轻松访问 Windows 驱动程序框架/工具包中用于重置 USB 端口的工具。
谢谢
【问题讨论】:
-
stackoverflow.com/questions/7704599/… 2011 年发现的
-
@Hayden 您认为可以将 DeviceIoControl 外部函数与IOCTL_INTERNAL_USB_CYCLE_PORT 控制代码一起使用吗?
-
C# 不是我最擅长的语言,所以我不确定。
-
AFAIK,内部 IOCTL 只能由设备驱动程序发出。