c – 如果未使用CloseHandle正确关闭,则重新打开串口会失败
作者:互联网
我正在使用Windows上的USB设备,它被视为虚拟串行端口.我可以使用CreateFile和ReadFile函数与设备通信,但在某些情况下,我的应用程序不会调用CloseHandle(当我的应用程序在开发中崩溃时).之后,对CreateFile的所有调用都失败(ERROR_ACCESS_DENIED),唯一的解决方案是再次登录到我的计算机.有没有办法以编程方式强制关闭打开的句柄(或重新打开)?
解决方法:
这当然不正常. Windows会自动关闭进程终止后保持打开的所有句柄.这必定是USB设备驱动程序中的一个缺陷,尽管很难看出它是如何搞砸的.然而,模拟串行端口的那些是众所周知的糟糕的.好吧,你无能为力,但希望制造商提供更新驱动程序.或者来自其他制造商的设备.
标签:createfile,c,windows,serial-port 来源: https://codeday.me/bug/20191006/1858492.html