waitcomment与管道兼容

WaitCommEvent compatible with pipes?

本文关键字:管道 waitcomment      更新时间:2023-10-16

我正在使用旧的c++/MFC/Win32代码。该项目通过单独的物理串行端口(每个客户端系统一个)将各种串行协议多路复用到一个公共前端数据存储库。

由于程序最初被设计为通过串行端口进行通信,因此在代码中有许多假设,就串行事件的设置和管理而言:ACK/NAK传输验证,内部字节延迟检查等…

现有的体系结构通过WaitCommEvent的事件通知来利用重叠的读写。

我的任务是添加另一个客户端接口,使用单个客户端管道服务器;像串行端口一样,每个"文件"将支持一个客户端。

在阅读WaitCommEvent的文档时,它看起来像是设计用于操作系统抽象的物理通信设备;如串口。

简单的问题是,我是否可以利用现有的串行倾斜"等待"模型来处理管道,或者我是否应该继续虚拟化它,以便可以用特定的管道逻辑覆盖它?

感谢那些(当然是少数)知道我在问什么的开发者。

我现在找不到一个很好的参考,但我的理解是WaitCommEvent只适用于通信资源,管道没有被定义为通信资源,例如串口。WaitCommEvent等待底层驱动程序设置某些位标志,比如当新字符到达时,我不相信管道(或文件)内部是这样工作的。