У меня есть дескриптор файла для последовательного (COM) порта. Мне нужно прочитать все доступные данные немедленно, а не ждать отправки дополнительных данных.
Как определить объем доступных данных? Я могу позвонить SetCommMask(myHandle, EV_RXCHAR)
, а затем дождаться события, чтобы сообщить мне, что некоторые данные доступны, но это не скажет мне, сколько я теперь могу читать без блокировки.
В данный момент я использую CreateFile () и перекрывающийся ввод-вывод для выполнения моих чтений, поэтому они асинхронны, но все еще ждут, пока буфер заполнится, чтобы сообщить о завершении ввода-вывода.