Share via


ClearCommError 関数 (winbase.h)

通信エラーに関する情報を取得し、通信デバイスの現在の状態を報告します。 この関数は、通信エラーが発生したときに呼び出され、デバイスのエラー フラグをクリアして、追加の入出力 (I/O) 操作を有効にします。

構文

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

パラメーター

[in] hFile

通信デバイスへのハンドル。 CreateFile 関数は、このハンドルを返します。

[out, optional] lpErrors

エラーの種類を示すマスクを受け取る変数へのポインター。 このパラメーターには、次の 1 つ以上の値を指定できます。

意味
CE_BREAK
0x0010
ハードウェアが中断状態を検出しました。
CE_FRAME
0x0008
ハードウェアでフレーム エラーが検出されました。
CE_OVERRUN
0x0002
文字バッファーのオーバーランが発生しました。 次の文字は失われます。
CE_RXOVER
0x0001
入力バッファーのオーバーフローが発生しました。 入力バッファーに空きがないか、EOF (end-of-file) 文字の後に文字を受け取りました。
CE_RXPARITY
0x0004
ハードウェアでパリティ エラーが検出されました。
 

次の値はサポートされていません。

[out, optional] lpStat

デバイスの状態情報が返される COMSTAT 構造体へのポインター。 このパラメーターが NULL の場合、状態情報は返されません。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

通信ポートがセットアップ DCB 構造体の fAbortOnError メンバーに TRUE 値で設定されている場合、通信エラーが発生すると、通信ソフトウェアは通信ポートに対するすべての読み取りおよび書き込み操作を終了します。 ClearCommError 関数を呼び出して、アプリケーションが通信エラーを確認するまで、新しい読み取りまたは書き込み操作は受け入れわれません。

ClearCommError 関数は、lpStat パラメーターが指す状態バッファーに、hFile パラメーターで指定された通信デバイスの現在の状態を入力します。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

COMSTAT

ClearCommBreak

通信関数

通信リソース

CreateFile

DCB