DisassociateCurrentThreadFromCallback 関数 (threadpoolapiset.h)
現在実行中のコールバック関数と、コールバックを開始したオブジェクトとの間の関連付けを削除します。 現在のスレッドは、オブジェクトの代わりにコールバックを実行するとカウントされなくなります。
構文
void DisassociateCurrentThreadFromCallback(
[in, out] PTP_CALLBACK_INSTANCE pci
);
パラメーター
[in, out] pci
コールバック インスタンスを定義する TP_CALLBACK_INSTANCE 構造体へのポインター。 ポインターはコールバック関数に渡されます。
戻り値
なし
解説
これがオブジェクトに代わってコールバックを実行する最後のスレッドである場合、オブジェクトのコールバックの完了を待機しているスレッドはすべて解放されます。
スレッドがスレッド プールに戻るまで、スレッドはオブジェクトの クリーンアップ グループ に関連付けられたままになります。 これにより、DLL シャットダウン ルーチンは未処理のコールバックと安全に同期し、すべてのコールバックが完了したときに DLL のコードのアンロードを続行できます。
コールバック生成オブジェクトは、コールバックの期間中有効なままです。 コールバック オブジェクトは再利用または解放できます (ただし、クリーンアップ グループリリースとの同期は必要です)。
この関数を使用するアプリケーションをコンパイルするには、_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 |
関連項目
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns