PurgeComm (Compact 2013)

3/28/2014

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 CreateFile function 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 GetLastError function.

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

FlushFileBuffers is 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

See Also

Reference

Serial Communications Functions

Other Resources

CreateFile
FlushFileBuffers