ClearCommError功能检索有关通信错误的信息,并报告通信设备的当前状态。当发生通信错误时调用此函数,并清除设备的错误标志以启用其他输入和输出(I / O)操作。
BOOL ClearCommError(
HANDLE 【HFILE】, | //处理通讯设备 |
LPDWORD 【// pointer to variable to receive error codes】, | //指向变量的指针以接收错误代码 |
LPCOMSTAT 【的lpstat】 | //指向缓冲区的通信状态指针 |
); |
参数
【HFILE】
识别通信设备。CreateFile函数返回此句柄。
【// pointer to variable to receive error codes】
指向一个32位变量以填充指示错误类型的掩码。此参数可以是以下一个或多个错误代码:
值 | 含义 |
CE_BREAK | 硬件检测到中断条件。 |
CE_DNS | 仅Windows 95:未选择并行设备。 |
CE_FRAME | 硬件检测到帧错误。 |
CE_IOE | 与设备进行通讯时发生I / O错误。 |
CE_MODE | 不支持请求的模式,或【HFILE】参数无效。如果该值被指定,它是唯一有效的错误。 |
CE_OOP | 仅Windows 95:并行设备发出信号,表示纸张不在纸上。 |
CE_OVERRUN | 发生字符缓冲区溢出。下一个字符丢失。 |
CE_PTO | 仅Windows 95:并行设备发生超时。 |
CE_RXOVER | 发生输入缓冲区溢出。在输入缓冲区中没有空格,或在文件结尾(EOF)字符后接收到一个字符。 |
CE_RXPARITY | 硬件检测到奇偶校验错误。 |
CE_TXFULL | 应用程序尝试传输一个字符,但输出缓冲区已满。 |
【的lpstat】
指向返回设备状态信息的COMSTAT结构。如果【的lpstat】为NULL,则不返回状态信息。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果设置DCB结构的fAbortOnError成员的通信端口设置为TRUE值,则通信软件将在通信错误发生时终止通信端口上的所有读取和写入操作。在应用程序通过调用ClearCommError功能确认通信错误之前,不会接受新的读取或写入操作。
ClearCommError功能使用【HFILE】参数指定的通信设备的当前状态填充【的lpstat】参数指向的状态缓冲区。
也可以看看