This function retrieves information about a communications error and reports the current status of a communications device. The function is called when a communications error occurs, and it clears the error flag of the device to enable additional input and output (I/O) operations.
At a Glance
Header file: | Winbase.h |
Windows CE versions: | 1.0 and later |
Syntax
BOOL ClearCommError(HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat);
Parameters
hFile
[in] Handle to the communications device. The CreateFile function returns this handle.
lpErrors
[out] Long pointer to a 32-bit variable to be filled with a mask indicating the type of error. This parameter can be one or more of the following error codes:
Error code | Description |
CE_BREAK | The hardware detected a break condition. |
CE_FRAME | The hardware detected a framing error. |
CE_IOE | An I/O error occurred during communications with the device. |
CE_MODE | The requested mode is not supported, or the hFile parameter is invalid. If this value is specified, it is the only valid error. |
CE_OVERRUN | A character-buffer overrun has occurred. The next character is lost. |
CE_RXOVER | An input buffer overflow has occurred. There is either no room in the input buffer, or a character was received after the end-of-file (EOF) character. |
CE_RXPARITY | The hardware detected a parity error. |
CE_TXFULL | The application tried to transmit a character, but the output buffer was full. |
lpStat
[out] Long pointer to a COMSTAT structure in which the device’s status information is returned. If lpStat is NULL, no status information is returned.
Return Values
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Remarks
If a communications port has been set up with a TRUE value for the fAbortOnError member of the setup DCB structure, the communications software will terminate all read and write operations on the communications port when a communications error occurs. No new read or write operations will be accepted until the application acknowledges the communications error by calling the ClearCommError function.
The ClearCommError function fills the status buffer pointed to by the lpStat parameter with the current status of the communications device specified by the hFile parameter.
Windows CE does not support the CE_DNS, CE_OPP, and CE_PTO error codes.
See Also