KsClearCommError

此函式是否可用依装置支援项目而定。

检索有关通讯错误的讯息并回报通讯装置的当前状态,当发生通讯错误时会呼叫此函式,其将清除装置的错误旗标以启用额外的输入和输出 (I/O) 操作。

语法

BOOL KsClearCommError(
     HANDLE hFile,
     LPDWORD lpErrors,
     LPCOMSTAT lpStat
);

参数

hFile:通讯装置的控制代码,KsCreateComm 函式回传此控制代码。

lpErrors:接收指示错误种类的遮罩值指标,此参数可为下列一个或多个值:

说明

CE_BREAK

0x0010

硬体侦测到中断情况。

CE_FRAME

0x0008

硬体侦测到成框误差 (framing error)。

CE_OVERRUN

0x0002

发生字元缓冲区超出,下一个字元遗失。

CE_RXOVER

0x0001

发生输入缓冲区溢位,输入缓冲区中没有空间,或在档案结束 (EOF) 字元之后接收到一个字元。

CE_RXPARITY

0x0004

硬体侦测到同位误差 (parity error)。

 

lpStat: :装置状态资讯回传的 COMSTAT 结构,若参数为 NULL,则表示无回传资讯。

回传值

若函式执行成功将回传 TRUE;失败将回传 FALSE。欲获取延伸错误资讯请呼叫 GetLastError

备注

若通讯埠已为 DCB 设置结构的 fAbortOnError 成员设置了 TRUE 值,则当发生通讯错误时,通讯软体将终止通讯埠上的所有读写操作,而在应用程序呼叫 KsClearCommError 函式以确认通讯错误之前,不会接受新的读取或写入操作。

范例

N/A

使用需求

  RT Win32
最低支援版本 4.0 4.0
标头档 kscom.h kscom.h
程式库 KsApi_Rtss.lib ksapi.h

参见

KsClearCommBreak

KsCreateComm