KeInitializeTimerEx 関数 (wdm.h)
KeInitializeTimerEx ルーチンは、拡張カーネル タイマー オブジェクトを初期化します。
void KeInitializeTimerEx(
[out] PKTIMER Timer,
[in] TIMER_TYPE Type
);
[out] Timer
呼び出し元がストレージを提供するタイマー オブジェクトへのポインター。
[in] Type
NotificationTimer または SynchronizationTimer タイマー オブジェクトの種類を指定します。
何一つ
タイマー オブジェクトは、通知されない状態に初期化されます。
タイマー オブジェクトの記憶域は、ドライバーが作成したデバイス オブジェクトのデバイス拡張機能、ドライバーによって作成されたコントローラー オブジェクトのコントローラー拡張機能、または呼び出し元によって割り当てられた非ページ プールに存在する必要があります。
通知タイマーの有効期限が切れると、待機しているすべてのスレッドが解放され、タイマーは明示的にリセットされるまでシグナル状態のままになります。 同期タイマーの有効期限が切れると、1 つの待機スレッドが解放され、タイマーが通知されていない状態にリセットされるまで、通知状態に設定されます。
KeInitializeTimerEx の呼び出し元は、IRQL = DISPATCH_LEVEL 以下で実行する必要があります。 IRQL = PASSIVE_LEVEL でタイマーを初期化することをお勧めします。
タイマー オブジェクトの詳細については、「タイマー オブジェクトと DPC を参照してください。
KeSetTimer 使用するか、KeSetTimerEx を して、タイマーの有効期限を定義します。
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm) |
KeReadStateTimer の
KeWaitForMultipleObjects の
KeWaitForSingleObject を する