2
我有一个串行(COM)端口的文件句柄。我需要立即读取任何可用的数据,而不是等待发送其他数据。如何从Windows COM端口只读取可用数据?
如何确定有多少数据可用?我可以拨打SetCommMask(myHandle, EV_RXCHAR)
,然后等待一个事件告诉我,某些数据可用,但是这并不能告诉我现在我可以在多大程度上无阻塞地阅读。
目前我正在使用CreateFile()和重叠I/O来执行我的读取操作,因此它们是异步的,但它们仍在等待缓冲区填充以报告I/O完成。