PurgeComm
The PurgeComm
function can discard all characters from the output or input buffer of a
specified communications resource. It can also terminate pending read or write
operations on the resource.
BOOL PurgeComm(
|
HANDLE hFile, |
// handle of
communications resource |
|
DWORD dwFlags |
// action to
perform |
|
); |
|
Parameters
hFile
Identifies
the communications resource. The CreateFile function returns this handle.
dwFlags
Specifies the
action to take. This parameter can be a combination of the following values:
|
Value |
Meaning |
|
PURGE_TXABORT |
Terminates
all outstanding write operations and returns immediately, even if the write
operations have not been completed. |
|
PURGE_RXABORT |
Terminates
all outstanding read operations and returns immediately, even if the read
operations have not been completed. |
|
PURGE_TXCLEAR |
Clears the
output buffer (if the device driver has one). |
|
PURGE_RXCLEAR |
Clears the
input buffer (if the device driver has one). |
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError.
Remarks
If a thread
uses PurgeComm to flush an output buffer, the deleted characters are not
transmitted. To empty the output buffer while ensuring that the contents are
transmitted, call the FlushFileBuffers function (a synchronous operation). Note,
however, that FlushFileBuffers is subject to flow control but not to
write time-outs, and it will not return until all pending write operations have
been transmitted.
See Also