<Return[PQ]><Top>

PurgeComm

Declare Function Api_PurgeComm& Lib "kernel32" Alias "PurgeComm" (ByVal hFile&, ByVal dwFlags&)

Declare Function PurgeComm Lib "kernel32" Alias "PurgeComm" (ByVal hFile As Long, ByVal dwFlags As Long) As Long

指定した通信資源の出力バッファまたは入力バッファにあるすべての文字を破棄する。未処理の読み取り操作または書き込み操作を中止することもできる。

パラメータ
lhFile
    通信資源のハンドルを指定する。CreateFile 関数が返すハンドルを使う。
dwFlags
    実行する操作を指定する。次の定数を組み合わせて渡すことができる.

    定数                           

意味                                                                                                                              

    PURGE_TXABORT

操作が完了していないものも含め、未処理の書き込みのすべてを中止し、ただちに制御を返す。

    PURGE_RXABORT

操作が完了していないものも含め、未処理の読み取りのすべてを中止し、ただちに制御を返す。

    PURGE_TXCLEAR

出力バッファの内容を消去する(デバイスドライバの出力バッファが存在する場合)。

    PURGE_RXCLEAR

入力バッファの内容を消去します(デバイスドライバの入力バッファが存在する場合)。

 

 

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

解説
    スレッドが PurgeComm 関数を使って出力バッファをフラッシュ(内容を消去)すると、削除された文字は送信されない。内容をすべて送信し

    た上で出力バッファを空にするときは、FlushFileBuffers 関数(同期操作)を使う。ただし、FlushFileBuffers 関数は、書き込みタイムアウ

    トではなくフロー制御の影響を受け、未処理の書き込み操作のすべてが送信されるまで制御を戻さない。