在不使用 readfile() 的情况下检测 Windows 句柄上的空缓冲区

Posted

技术标签:

【中文标题】在不使用 readfile() 的情况下检测 Windows 句柄上的空缓冲区【英文标题】:Detect empty buffer on a windows handle without using readfile() 【发布时间】:2009-06-02 14:18:55 【问题描述】:

我想知道是否有任何类似 IsBufferEmpty() 的函数可用于同步句柄,而不是使用 ReadFile() 并等待它返回 false。我需要一些东西来消除 ReadFile() 尝试读取数据的延迟。

【问题讨论】:

【参考方案1】:

这是用于串口通信的吗?

如果是这样,你可以使用ClearCommError()函数:

DWORD com_errors = 0;
COMSTAT com_stat;

ClearCommError(serial_port_handle, &com_errors, &com_stat);
/* com_stat.cbInQue now holds the number of characters in the receive buffer */

【讨论】:

用于串口通信。感谢您提供的信息,我从没想到您可以通过明确的错误功能访问它。

以上是关于在不使用 readfile() 的情况下检测 Windows 句柄上的空缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

在不拍照的情况下检测微笑

如何在不使用 GPS、加速度计的情况下检测设备是不是静止

如何在不使用 TeraWurfl 的情况下检测网站是不是正在通过移动设备或计算机使用 [重复]

在不使用委托方法的情况下检测 UITextView 和/或 UITextField 上的 SELECTION 更改

有没有办法在不使用 viola-jones 算法的情况下用 opencv 检测人脸? [关闭]

如何在不使用 python 循环的情况下检测和转换列值的单位?