Detectar tampão vazio em um identificador de janelas sem usar readfile ()
Pergunta
Eu queria saber se havia alguma função ao longo das linhas de IsBufferEmpty () para usar em uma alça síncrona em vez de usar ReadFile () e esperar por ele para retornar falso. Eu preciso de algo para eliminar o atraso que ReadFile () leva para tentar ler os dados.
Solução
É isto para comunicação de porta serial?
Se assim for, você pode usar o ClearCommError()
função:
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 */
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow