我有一个基于 FTDI 芯片的 USB 设备。有时,它的驱动程序会卡住。
在linux下,没有问题——设备会自动断开,默认内核会重新连接,唯一的问题是设备名称改变了——可以通过udev规则修复。
在windows下,当它卡住时,应用程序的线程read()
或write()
此时完全挂起。它不能被杀死,也不能被 杀死TerminateThread
,也不能被 杀死KillProcess
。
杀死应用程序的唯一方法是物理断开 USB 设备。
任何方式以编程方式发出设备重新连接,这将消除驱动程序的死锁并允许重新打开端口并在之后继续工作?
如果需要,可以申请管理权限。