PurgeComm function (winbase.h)

Discards 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.

Syntax

BOOL PurgeComm(
  [in] HANDLE hFile,
  [in] DWORD  dwFlags
);

Parameters

[in] hFile

A handle to the communications resource. The CreateFile function returns this handle.

[in] dwFlags

This parameter can be one or more of the following values.

Value Meaning
PURGE_RXABORT
0x0002
Terminates all outstanding overlapped read operations and returns immediately, even if the read operations have not been completed.
PURGE_RXCLEAR
0x0008
Clears the input buffer (if the device driver has one).
PURGE_TXABORT
0x0001
Terminates all outstanding overlapped write operations and returns immediately, even if the write operations have not been completed.
PURGE_TXCLEAR
0x0004
Clears the output buffer (if the device driver has one).

Return value

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.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header winbase.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

Communications Functions

Communications Resources

CreateFile