我使用微软示例创建了虚拟串行驱动程序 (UMDF)。而不是设备,我只是接收数据并将数据转发到 TCP 服务器。
考虑到它只是虚拟的并且没有设备,我是否需要在驱动程序中处理虚拟 COM 设置,如波特率、奇偶校验、停止位、数据长度(由应用程序设置)?那么流量控制呢?
https://github.com/microsoft/Windows-driver-samples
使用 UMDF 和 WDK 中这两个示例驱动程序的基本组合:
即驱动设备创建一个GUID_DEVINTERFACE_COMPORT
设备接口,实现所有串行IOCTL(来自VirtualSerial
示例),然后将所有IO读/写请求转发到一个TCP/IP套接字文件句柄(来自
umdfSocketEcho
示例)。