次の方法で共有


KeQueryInterruptTime 関数 (wdm.h)

KeQueryInterruptTime ルーチンは、割り込み時間 カウント システムの現在の値を、システム クロック ティック内の精度で返します。

構文

ULONGLONG KeQueryInterruptTime();

戻り値

KeQueryInterruptTime は、現在の割り込み時間数を 100 ナノ秒単位で返します。 通常、この戻り値の更新は、システム クロック ティックごとに少なくとも 1 回行われます。

備考

このルーチンは、オペレーティング システムが最後に起動されてからの時間であるシステム割り込み時間を返します。 割り込み時間数は、オペレーティング システムが起動すると 0 から始まり、クロック割り込みごとにクロック ティックの長さでインクリメントされます。 ハードウェアの違いなど、さまざまな理由で、システム クロック ティックの長さはコンピューターによって異なる場合があります。 KeQueryTimeIncrement ルーチンを呼び出して、システム クロック ティックのサイズを決定します。

KeQueryInterruptTime パフォーマンス チューニングに使用できます。 このルーチンは、KeQueryTickCount ルーチンよりも細かい測定を返します。 KeQueryInterruptTime の呼び出しは、KeQueryPerformanceCounter ルーチンの呼び出しよりもオーバーヘッドが大幅に少なくなります。

したがって、システム時間を設定またはリセットする操作がシステム割り込み時間数に影響しないため、割り込み時間を使用して、システムの実行中の非常に細かい期間を測定できます。

ただし、電源管理状態の変更は、システム割り込み時間数に影響します。 割り込み時間数のメンテナンスは、システムのスリープ状態中に中断されます。 後続のスリープ解除状態遷移が発生すると、システムは割り込み時間数に "バイアス" 値を追加して、このようなスリープ状態の推定期間を補正します。 KeQueryInterruptTime によって返される割り込み時間数には、このバイアス値が含まれます。 偏りのない割り込み時間数を取得するには、KeQueryInterruptTime ではなく、KeQueryUnbiasedInterruptTime ルーチン使用します。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任意のレベル

関連項目

高解像度タイムスタンプ の取得

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime