Share via


ChangeTimerQueueTimer 関数 (threadpoollegacyapiset.h)

CreateTimerQueueTimer 関数によって作成されたタイマー キュー タイマーを更新します。

構文

BOOL ChangeTimerQueueTimer(
  [in, optional] HANDLE TimerQueue,
  [in, out]      HANDLE Timer,
  [in]           ULONG  DueTime,
  [in]           ULONG  Period
);

パラメーター

[in, optional] TimerQueue

タイマー キューへのハンドル。 このハンドルは、 CreateTimerQueue 関数によって返されます。

このパラメーターが NULL の場合、タイマーは既定のタイマー キューに関連付けられます。

[in, out] Timer

タイマー キュー タイマーのハンドル。 このハンドルは、 CreateTimerQueueTimer 関数によって返されます。

[in] DueTime

タイマーの有効期限が切れる時間 (ミリ秒単位)。

[in] Period

タイマーの期間 (ミリ秒単位)。 このパラメーターが 0 の場合、タイマーは 1 回通知されます。 このパラメーターが 0 より大きい場合、タイマーは定期的です。 定期的なタイマーは、DeleteTimerQueueTimer 関数を使用してタイマーが取り消されるか、ChangeTimerQueueTimer を使用してリセットされるまで、期間が経過するたびに自動的に再アクティブ化されます。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

スレッドが偽装を使用している間は、この関数を呼び出すことはできません。 結果の動作は未定義です。

タイマー コールバックで ChangeTimerQueueTimer を呼び出すことができます。

既に期限切れになっているワンショット タイマー (その期間は 0) で ChangeTimerQueueTimer を呼び出した場合、タイマーは更新されません。

ハンドルで DeleteTimerQueueTimer を呼び出した後は 、ChangeTimerQueueTimer を呼び出さないでください。

この関数を使用するアプリケーションをコンパイルするには、 _WIN32_WINNT を 0x0500 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー threadpoollegacyapiset.h
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CreateTimerQueue

CreateTimerQueueTimer

DeleteTimerQueueTimer

同期関数

スレッド プール

タイマー キュー