Обнаружение пустого буфера в дескрипторе Windows без использования readfile () - PullRequest
0 голосов
/ 02 июня 2009

Мне было интересно, есть ли какая-либо функция по аналогии с IsBufferEmpty () для использования в синхронном дескрипторе вместо использования ReadFile () и ожидания, пока она вернет false. Мне нужно что-то, чтобы устранить задержку, которую ReadFile () берет, чтобы попытаться прочитать данные.

1 Ответ

1 голос
/ 02 июня 2009

Это для связи через последовательный порт?

Если это так, вы можете использовать функцию 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 */
...