ClearCommError 函数 (winbase.h)

检索有关通信错误的信息并报告通信设备的当前状态。 发生通信错误时,将调用 函数,并清除设备的错误标志,以启用其他输入和输出 (I/O) 操作。

语法

BOOL ClearCommError(
  [in]            HANDLE    hFile,
  [out, optional] LPDWORD   lpErrors,
  [out, optional] LPCOMSTAT lpStat
);

参数

[in] hFile

通信设备的句柄。 CreateFile 函数返回此句柄。

[out, optional] lpErrors

指向变量的指针,该变量接收指示错误类型的掩码。 此参数可使用以下一个或多个值。

含义
CE_BREAK
0x0010
硬件检测到中断条件。
CE_FRAME
0x0008
硬件检测到一个组帧错误。
CE_OVERRUN
0x0002
发生字符缓冲区溢出。 下一个字符将丢失。
CE_RXOVER
0x0001
发生输入缓冲区溢出。 输入缓冲区空间不足,或在文件尾 (EOF) 字符之后接收到字符。
CE_RXPARITY
0x0004
硬件检测到奇偶校验错误。
 

不支持以下值:

[out, optional] lpStat

指向 COMSTAT 结构的指针,其中返回设备的状态信息。 如果此参数为 NULL,则不返回任何状态信息。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

如果已使用设置 DCB 结构的 fAbortOnError 成员的 TRUE 值设置了通信端口,则发生通信错误时,通信软件将终止该通信端口上的所有读取和写入操作。 在应用程序通过调用 ClearCommError 函数确认通信错误之前,不会接受新的读取或写入操作。

ClearCommError 函数使用 hFile 参数指定的通信设备的当前状态填充 lpStat 参数指向的状态缓冲区。

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

COMSTAT

ClearCommBreak

通信函数

通信资源

CreateFile

DCB