次の方法で共有


KeXxxTimer ルーチン、KTIMER オブジェクト、DPC

Windows 2000 以降では、一連の KeXxxTimer ルーチンを使用してタイマーを管理できます。 これらのルーチンは、KTIMER 構造体に基づくタイマー オブジェクトを使用します。 タイマー オブジェクトを作成するには、ドライバーは、最初に KTIMER 構造体の記憶域を割り当てます。 次に、ドライバーは、この構造体を初期化する KeInitializeTimerKeInitializeTimerEx などのルーチンを呼び出します。

タイマーは、1 回だけ期限切れにするか、指定された間隔の後に繰り返し期限切れに設定できます。 KeSetTimer は、常に 1 回だけ期限切れになるタイマーを設定します。 KeSetTimerEx は、定期的なタイマー間隔を指定する、省略可能な Period パラメーターを受け取ります。

オプションの CustomTimerDpc ルーチン (遅延プロシージャ呼び出しの種類) は、通知タイマーまたは同期タイマーに関連付けることができます。 このルーチンは、指定された時間間隔の有効期限が切れると実行されます。 詳しくは、Timer オブジェクトの使用を参照してください。

タイマーには、通知タイマーまたは同期タイマーを指定できます。

  • 通知タイマーが通知されると、待機中のすべてのスレッドの待機が満たされます。 タイマーの状態はメイン明示的にリセットされるまで通知されます。

  • 同期タイマーの有効期限が切れると、1 つの待機中のスレッドが解放されるまで、その状態は Signaled に設定されます。 その後、タイマーは Not-Signaled 状態にリセットされます。

KeInitializeTimer は常に通知タイマーを作成します。 KeInitializeTimerEx は、NotificationTimer または SynchronizationTimerType パラメーターを受け取ります。

次のトピックでは、タイマー オブジェクトおよび DPC の詳細について説明します。

タイマー オブジェクトの使用

タイマー精度

CustomTimerDpc ルーチンの登録とキュー

CustomTimerDpc コンテキスト情報の提供

CustomTimerDpc ルーチンの使用