次の方法で共有


KeQueryInterruptTime 関数 (wdm.h)

KeQueryInterruptTime ルーチンは、システム割り込み時間数の現在の値を、システム クロック ティック内に正確に返します。

構文

ULONGLONG KeQueryInterruptTime();

戻り値

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

注釈

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

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

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

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

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル

こちらもご覧ください

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

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime