CreateThreadpoolWait 関数 (threadpoolapiset.h)

新しい wait オブジェクトを作成します。

構文

PTP_WAIT CreateThreadpoolWait(
  [in]                PTP_WAIT_CALLBACK    pfnwa,
  [in, out, optional] PVOID                pv,
  [in, optional]      PTP_CALLBACK_ENVIRON pcbe
);

パラメーター

[in] pfnwa

待機が完了またはタイムアウトしたときに呼び出すコールバック関数。詳細については、「 WaitCallback」を参照してください。

[in, out, optional] pv

コールバック関数に渡すオプションのアプリケーション定義データ。

[in, optional] pcbe

コールバック 実行する環境を定義するTP_CALLBACK_ENVIRON構造体。 InitializeThreadpoolEnvironment 関数は、この構造体を返します。

このパラメーターが NULL の場合、コールバックは既定のコールバック環境で実行されます。 詳細については、「 InitializeThreadpoolEnvironment」を参照してください。

戻り値

関数が成功すると、待機オブジェクトを定義する TP_WAIT 構造体へのポインターが返されます。 アプリケーションでは、この構造体のメンバーは変更されません。

関数が失敗した場合は、NULL が返されます。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

解説

wait オブジェクトを設定するには、 SetThreadpoolWait または SetThreadpoolWaitEx 関数を呼び出します。

作業項目と呼び出すすべての関数は、返された後にスレッドに依存しないようにする必要があります。 したがって、既定のコールバック環境から、REG_NOTIFY_THREAD_AGNOSTIC フラグのない RegNotifyChangeKeyValue 関数などの永続的なスレッドを必要とする非同期呼び出しを呼び出すことはできません。 代わりに、有効期間を制御するスレッドを使用します。

この関数を使用するアプリケーションをコンパイルするには、_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

SetThreadpoolWait

スレッド プール

WaitForThreadpoolWaitCallbacks