WaitCommEvent

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function waits for an event to occur for a specified communications device.

The set of events monitored by WaitCommEvent is contained in the event mask associated with the device handle.

Syntax

BOOL WaitCommEvent(
  HANDLE hFile,
  LPDWORD lpEvtMask,
  LPOVERLAPPED lpOverlapped
);

Parameters

  • hFile
    [in] Handle to the communications device, returned by the CreateFile function.
  • lpEvtMask
    [out] Long pointer to a 32-bit variable that receives a mask indicating the events that occurred. If an error occurs, the value is zero. Otherwise, it is one or more of the values in the following table.

    Value Description

    EV_BREAK

    A break was detected on input.

    EV_CTS

    The clear-to-send (CTS) signal changed state.

    EV_DSR

    The data-set-ready (DSR) signal changed state.

    EV_ERR

    A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY.

    EV_POWER

    Power event, which is generated whenever the device is powered on.

    This value is specific to Windows Embedded CE.

    EV_RING

    A ring indicator was detected.

    EV_RLSD

    The receive-line-signal-detect (RLSD) signal changed state.

    EV_RXCHAR

    A character was received and placed in the input buffer.

    EV_RXFLAG

    The event character was received and placed in the input buffer. The event character is specified in the device's DCB structure, which is applied to a serial port by using the SetCommState function.

    EV_TXEMPTY

    The last character in the output buffer was sent.

  • lpOverlapped
    [in] Ignored; set to NULL.

Return Value

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

Remarks

The WaitCommEvent function monitors a set of events for a specified communications resource. To set and query the current event mask of a communications resource, use the SetCommMask and GetCommMask functions. When a communications event that is set by SetCommMask occurs, WaitCommEvent returns.

Only one WaitCommEvent can be used for each open COM port handle. This means that if you have three threads in your application and each thread needs to wait on a specific comm event, each thread needs to open the COM port and then use the assigned port handle for their respective WaitCommEvent calls.

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

Reference

Serial Communications Functions
GetCommMask
SetCommMask
SetCommState
DCB

Other Resources

CreateFile