カーネル モード ドライバー アーキテクチャの新機能

Windows 7 でリリースされた Windows Driver Kit (WDK) には、カーネル モード ドライバー向けに次の新機能が備わっています。

64 個を超える論理プロセッサのサポート

マルチプロセッサ システムで 64 個を超える論理プロセッサを含むことができるように、新しい一連のコア カーネル ライブラリ サポート ルーチンがgroup affinitiesをサポートするために追加されています。これらの新しいルーチンには、KeGetCurrentProcessorNumberExKeQueryActiveGroupCountKeQueryActiveProcessorCountExKeQueryGroupAffinity があります。

タグを使ったオブジェクト参照トレース

ObReferenceObjectWithTagObDereferenceObjectWithTag などのいくつかの新しいオブジェクト マネージャー ルーチンが、タグを使ったオブジェクト参照トレースをサポートするために追加されています。

拡張されたプロセッサの状態の保存

XSAVE と XRSTOR の命令をサポートする x86 ベースのプロセッサでは、これらの命令により、拡張されたプロセッサ状態情報を保存、復元するための柔軟なメカニズムが提供されます。新しい KeSaveExtendedProcessorState ルーチンと KeRestoreExtendedProcessorState ルーチンで、これらの命令を使います (利用できる場合)。

タイマーの結合

新しい KeSetCoalescableTimer ルーチンは、おなじみの KeSetTimerEx ルーチンに似ています。ただし、呼び出し元がタイマーの有効期限に許容できる遅延時間を指定できることは除きます。多くの場合、オペレーティング システムはこの情報を使って、複数のタイマーの有効期限を 1 つの有効期限に結合できます。タイマーの結合により、プロセッサが低電力状態で動作できるアイドル期間を長くすることができます。

既定の電源動作の上書き

カーネル モード ドライバーは、新しい PoSetPowerRequest ルーチンを呼び出して、POWER_REQUEST_TYPE 列挙値として指定されているいくつかの種類の既定の電源動作を上書きできます。既定の動作を復元するには、ドライバーで新しい PoClearPowerRequest ルーチンを呼び出します。

デバイスのセッション通知

カーネル モード ドライバーは新しい IoRegisterContainerNotification ルーチンを呼び出して、ドライバーが対象としているユーザー セッションの状態が変更されたときに通知を受け取るように登録できます。

ハードウェアのパフォーマンス カウンターのサポート

新しい HalAllocateHardwareCounters ルーチンと HalFreeHardwareCounters ルーチンを使うと、カーネル モード ドライバーで、スレッド プロファイル ツール間でのハードウェアのカウンター リソースの共有を調整できます。新しい KeQueryHardwareCounterConfiguration ルーチンと KeSetHardwareCounterConfiguration ルーチンを使うと、カーネル モード ドライバーで、ハードウェアのカウンターをスレッド プロファイル ツールで使うよう構成できます。

不偏の割り込み時間

新しい KeQueryUnbiasedInterruptTime ルーチンはおなじみの KeQueryInterruptTime ルーチンに似ています。ただし、カウンターの増加が一時停止されている期間を補うために割り込みカウンター値にバイアスを追加しないことを除きます。