<Return[C]><Top>

ClearCommError

Declare Function Api_ClearCommError& Lib "kernel32" Alias "ClearCommError" (ByVal hFile&, lpErrors&, lpStat As COMSTAT)

Declare Function ClearCommError Lib "kernel32" Alias "ClearCommError" (ByVal hFile As Long, lpErrors As Long, lpStat As COMSTAT) As Long

通信エラーの情報を取得して、通信デバイスの現在の状態を通知する。通信エラーが発生した場合に呼び出し、デバイスのエラーフラグをクリアして次の入出力(I/O)操作を可能にする。

パラメータ
hFile
    通信デバイスのハンドルを指定する。CreateFile 関数が返すハンドルを使う。
lpErrors
    エラーの種類を示すマスクを受け取る 32 ビット変数へのポインタを指定する。次の1つ以上のエラーコードが格納される。

    定数                  

意味                                                                                                                                   

    CE_BREAK

ハードウェアがブレーク条件を検出した。

    CE_DNS

Windows 95/98:パラレルデバイスが選択されていない。

    CE_FRAME

ハードウェアがフレーミングエラーを検出した。

    CE_IOE

デバイスとの通信中に I/O エラーが発生した。

    CE_MODE

要求したモードがサポートされていない。または、hFile パラメータが無効である(この値が指定された場合、このエラーコードのみが有効値となる)。

    CE_OOP

Windows 95/98:パラレルデバイスが用紙切れになっている。

    CE_OVERRUN

文字バッファがいっぱいになりました。次の文字は失われる。

    CE_PTO

Windows 95/98:パラレルデバイスでタイムアウトになった。

    CE_RXOVER

入力バッファのオーバーフローが発生した。入力バッファに空きがないか、EOF の後に文字を受信した。

    CE_RXPARITY

ハードウェアがパリティエラーを検出した。

    CE_TXFULL

アプリケーションが文字を送信しようとしたが、出力バッファがいっぱいであった。

lpStat
    COMSTAT 構造体へのポインタを指定する。この構造体を使って、デバイスの状態情報を受け取る。NULL を指定した場合、状態情報

    を受け取らない。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    fAbortOnError メンバに TRUE 値が指定された DCB 構造体でセットアップされた通信ポートでは、通信エラーが発生すると通信ソフトウェ]

    アがすべての読み書き動作を中止する。アプリケーションが ClearCommError 関数を呼び出して通信エラーを確認するまで、新たな読み

    取り、書き込みは実行されない。
    ClearCommError 関数は、lpStat パラメータが示す状態バッファに、hFile パラメータで指定された通信デバイスの現在の状態を格納す

    る。