Export (0) Print
Expand All
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


Windows Mobile 6.5
A version of this page is also available for

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.

BOOL WaitCommEvent(
  HANDLE hFile,
  LPDWORD lpEvtMask,
  LPOVERLAPPED lpOverlapped


[in] Handle to the communications device, returned by the CreateFile function.


[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


A break was detected on input.


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


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


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


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

This value is specific to Windows Embedded CE.


A ring indicator was detected.


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


A character was received and placed in the input buffer.


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.


The last character in the output buffer was sent.


[in] Ignored; set to NULL.

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

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.

Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions

© 2015 Microsoft