WaitCommEvent
A version of this page is also available for
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