`PurgeComm()'可以删除Tx和Rx缓冲区中的任何一个或两个中的所有字符,并中止端口上任何挂起的读取和/或写入操作.要对端口做所有事情,请说:
PurgeComm(hPort, PURGE_RXABORT|PURGE_TXABORT|PURGE_RXCLEAR|PURGE_TXCLEAR)
Run Code Online (Sandbox Code Playgroud)
您可能还希望确保已经处理或明确忽略了端口上的任何挂起错误,可能还有ClearCommError().
ReadFile()可以通过将所有可用字节读入废液缓冲区来仅清空Rx缓冲区和FIFO.请注意,您可能需要具有"不自然"的知识才能正确调整缓冲区的大小,或者重复ReadFile()调用直到无法再说.
但是,读取缓冲区以刷新它只有在首先"合理地"设置COMMTIMEOUTS或读取将阻塞直到填充缓冲区时才有意义.