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 |
參見