Winapi 使用Windows 10访问COM端口

Winapi 使用Windows 10访问COM端口,winapi,serial-port,windows-10,Winapi,Serial Port,Windows 10,我有一些愚蠢的代码来访问Windows COM端口(只是一些最相关函数的伪代码): 从串行端口读取数据是通过 ReadFile() 与 WriteFile() 在我的特殊情况下,该设备是一个USB小工具,它作为串行接口连接,速度设置和其他事情实际上并不重要 此代码适用于包括8.1在内的所有Windows变体,但对于Windows 10,一些用户报告无法与设备通信。不幸的是,我没有相关的Win10版本进行测试 因此,我的问题是:Windows 10中是否存在可能导致这种行为的一些问题/重要更改

我有一些愚蠢的代码来访问Windows COM端口(只是一些最相关函数的伪代码):

从串行端口读取数据是通过

ReadFile()

WriteFile()
在我的特殊情况下,该设备是一个USB小工具,它作为串行接口连接,速度设置和其他事情实际上并不重要

此代码适用于包括8.1在内的所有Windows变体,但对于Windows 10,一些用户报告无法与设备通信。不幸的是,我没有相关的Win10版本进行测试

因此,我的问题是:Windows 10中是否存在可能导致这种行为的一些问题/重要更改,或者需要对串行端口通信进行一些更改

谢谢

******更新******************************************************************

正如更新此函数一样:函数SetCommState()失败,出现错误87(错误\u无效\u参数)。在这里,我是否设置自己的参数、是否使用从GetCommState()接收的数据或是否完全初始化和配置DCB结构都无关紧要。那么…这是Win 10的SetCommState()中已知的错误吗


需要注意的是:5种情况中只有4种是失败的,所以这不是一个系统错误,而是一个随机错误

最后:这似乎是Windows的问题,Microsoft已经破坏了usbser.sys驱动程序。关于这个问题,有很多线程:

第二个是最有趣的一个:它以“我们仍然有问题”结尾,然后由微软员工关闭


我个人发现一个旧的Windows 10安装,其中usbser.sys运行良好-在应用了所有可用的Windows修补程序(包括更新的usbser.sys)后,问题出现了。

RealTerm在相同的端口上运行时,COM端口上的ReadFile没有返回任何内容,我们也遇到了问题。
事实证明,Windows没有被正确激活,这导致了这些问题。

我不知道有什么理由否决这个问题……但毫不奇怪,在大多数情况下,这些人没有勇气不发表任何评论。。。
WriteFile()