Rilevare buffer vuoto sulla finestre maniglia senza utilizzare readfile ()
Domanda
mi chiedevo se c'era alcuna funzione lungo le linee di IsBufferEmpty () da utilizzare su un manico sincrono piuttosto che usare ReadFile () e aspettando che restituisca false. Ho bisogno di qualcosa per eliminare il ritardo che ReadFile () batte per cercare di leggere i dati.
Soluzione
E 'questo per la comunicazione seriale?
Se è così, è possibile utilizzare il ClearCommError()
funzione:
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 */
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow