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