安全移除设备后如何模拟 USB 拔出/重新插入?
如果我向 USB 设备发送 IOCTL_INTERNAL_USB_CYCLE_PORT I/O 请求,它的工作原理就像拔出并重新插入一样。但如果我安全地将其从系统托盘中删除,然后发送相同的请求,我会收到 0xC000000E 错误代码,即 STATUS_NO_SUCH_DEVICE
,并且该设备将不会重新出现。有没有办法在“安全移除但物理连接”状态下模拟此 USB 设备的重新插入?
IOCTL_INTERNAL_USB_CYCLE_PORT I/O 请求模拟设备拔出并 重新插入与关联的端口 PDO。
If I send IOCTL_INTERNAL_USB_CYCLE_PORT
I/O request to the USB device, it works as unplug and replug. but if I safely removed it from the system tray, then send the same request, I get 0xC000000E error code, which is STATUS_NO_SUCH_DEVICE
, and the device won't reappear. Is there a way to simulate a replug of this USB device in a "safely removed but physically connected" state?
From Microsoft's USB Reference:
The IOCTL_INTERNAL_USB_CYCLE_PORT I/O
request simulates a device unplug and
replug on the port associated with the
PDO.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该将此 IOCTL 发送到父级 设备的 - 而不是设备本身。
You should send IOCTL this to the parent of the device - not to the device itself.