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 |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示