SetThreadpoolWait 関数 (threadpoolapiset.h)

待機オブジェクトを設定し、前の待機オブジェクト (存在する場合) を置き換えます。 ワーカー スレッドは、ハンドルがシグナル化された後、または指定されたタイムアウトの有効期限が切れた後に、待機オブジェクトのコールバック関数を呼び出します。

構文

void SetThreadpoolWait(
  [in, out]      PTP_WAIT  pwa,
  [in, optional] HANDLE    h,
  [in, optional] PFILETIME pftTimeout
);

パラメーター

[in, out] pwa

待機オブジェクトを定義する TP_WAIT 構造体へのポインター。 CreateThreadpoolWait 関数は、このポインターを返します。

[in, optional] h

ハンドル。

このパラメーターが NULL の場合、待機オブジェクトは新しいコールバックのキューに入れなくなります (ただし、既にキューに登録されているコールバックは引き続き発生します)。

このパラメーターが NULL でない場合は、有効な待機可能オブジェクトを参照する必要があります。

待機がまだ保留中の間にこのハンドルが閉じられた場合、関数の動作は未定義です。 待機がまだ保留中で、ハンドルを閉じる必要がある場合は、 CloseThreadpoolWait を使用して待機を取り消してから、ハンドルを閉じます。

このパラメーターが NULL 以外の場合、待機は set と見なされます。

[in, optional] pftTimeout

待機操作がタイムアウトする絶対時間または相対時間を指定する FILETIME 構造体へのポインター。このパラメーターが正の値を指している場合は、1601 年 1 月 1 日 (UTC) 以降の絶対時刻を 100 ナノ秒間隔で示します。 このパラメーターが負の値を指している場合は、現在の時刻を基準にして待機する時間を示します。 時刻の値の詳細については、「 ファイル時刻」を参照してください。

このパラメーターが 0 を指す場合、待機はすぐにタイムアウトします。 このパラメーターが NULL の場合、待機はタイムアウトしません。

戻り値

なし

解説

待機オブジェクトは、1 つのハンドルのみを待機できます。 待機オブジェクトのハンドルを設定すると、前のハンドル (存在する場合) が置き換えられます。

待機コールバックをトリガーするには、毎回通知する前に、待機オブジェクトにイベントを再登録する必要があります。

この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0600 以上として定義します。

例については、「 スレッド プール関数の使用」を参照してください。

要件

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

関連項目

CloseThreadpoolWait

CreateThreadpoolWait

SetThreadpoolWaitEx

スレッド プール

WaitForThreadpoolWaitCallbacks