Обнаружить пустой буфер в дескрипторе Windows без использования readfile()

StackOverflow https://stackoverflow.com/questions/939840

  •  06-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Если да, то вы можете использовать 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 */
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top