次の方法で共有


CloseThreadpoolTimer 関数 (threadpoolapiset.h)

指定したタイマー オブジェクトを解放します。

構文

void CloseThreadpoolTimer(
  [in, out] PTP_TIMER pti
);

パラメーター

[in, out] pti

タイマー オブジェクト を定義TP_TIMER 構造体へのポインター。 CreateThreadpoolTimer 関数は、このポインターを返します。

戻り値

なし

解説

未処理のコールバックがない場合、タイマー オブジェクトはすぐに解放されます。それ以外の場合、未処理のコールバック関数が完了した後、タイマー オブジェクトは非同期的に解放されます。

場合によっては、 CloseThreadpoolTimer が呼び出された後にコールバック関数が実行されることがあります。 この動作を防ぐには:

  • pftDueTime パラメーターを NULL に設定し、msPeriod パラメーターと msWindowLength パラメーターを 0 に設定して、SetThreadpoolTimer 関数または SetThreadpoolTimerEx 関数を呼び出します。
  • fCancelPendingCallbacks パラメーターを TRUE に設定して WaitForThreadpoolTimerCallbacks 関数を呼び出します。
  • CloseThreadpoolTimer を呼び出します。

タイマー オブジェクトに関連付けられているクリーンアップ グループがある場合は、この関数を呼び出す必要はありません。 CloseThreadpoolCleanupGroupMembers 関数を呼び出すと、クリーンアップ グループに関連付けられている作業、待機、およびタイマー の各オブジェクトが解放されます。

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

関連項目

CreateThreadpoolTimer

IsThreadpoolTimerSet

SetThreadpoolTimer

SetThreadpoolTimerEx

スレッド プール

WaitForThreadpoolTimerCallbacks