Share via


PurgeComm 関数 (winbase.h)

指定した通信リソースの出力バッファーまたは入力バッファーからすべての文字を破棄します。 また、リソースに対する保留中の読み取り操作または書き込み操作を終了することもできます。

構文

BOOL PurgeComm(
  [in] HANDLE hFile,
  [in] DWORD  dwFlags
);

パラメーター

[in] hFile

通信リソースへのハンドル。 CreateFile 関数は、このハンドルを返します。

[in] dwFlags

このパラメーターには、次の 1 つ以上の値を指定できます。

説明
PURGE_RXABORT
0x0002
未処理の重複する読み取り操作をすべて終了し、読み取り操作が完了していない場合でも、すぐにを返します。
PURGE_RXCLEAR
0x0008
入力バッファーをクリアします (デバイス ドライバーにバッファーがある場合)。
PURGE_TXABORT
0x0001
未処理の重複する書き込み操作をすべて終了し、書き込み操作が完了していない場合でもすぐにを返します。
PURGE_TXCLEAR
0x0004
出力バッファーをクリアします (デバイス ドライバーに出力バッファーがある場合)。

戻り値

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

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

解説

スレッドが PurgeComm を 使用して出力バッファーをフラッシュする場合、削除された文字は送信されません。 内容が確実に送信されるように出力バッファーを空にするには、 FlushFileBuffers 関数 (同期操作) を呼び出します。 ただし、 FlushFileBuffers はフロー制御の対象ですが、タイムアウトを書き込むためではなく、保留中のすべての書き込み操作が送信されるまで戻りません。

要件

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

関連項目

Communications 関数

通信リソース

CreateFile