Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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

Syntax

BOOL PurgeComm(
  HANDLE 
hFile,
  DWORD 
dwFlags
);

Parameters

hFile

[in] Handle to the communications resource.

The CreateFilefunction returns this handle.

dwFlags

[in] Specifies the action to take. The following table shows possible values.

Value Description

PURGE_RXABORT

Terminates outstanding overlapped read operations and returns immediately, even if the read operations have not been completed.

PURGE_RXCLEAR

Clears the input buffer, if the device driver has one.

PURGE_TXABORT

Terminates outstanding overlapped write operations and returns immediately, even if the write operations have not been completed.

PURGE_TXCLEAR

Clears the output buffer, if the device driver has one.

Return Value

Nonzero indicates success. Zero indicates failure. To obtain extended error information, call the GetLastErrorfunction.

Remarks

If a thread uses PurgeCommto flush an output buffer, the deleted characters are not transmitted.

To empty the output buffer while ensuring that the contents are transmitted, call the FlushFileBuffersfunction (a synchronous operation).

FlushFileBuffersis subject to flow control but not to write timeouts, and it does not return until all pending write operations have been transmitted.

Requirements

Header winbase.h
Library Serdev.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also