KeQueryInterruptTime 函数 (wdm.h)

KeQueryInterruptTime 例程返回系统 中断时间 计数的当前值,准确性在系统时钟周期内。

语法

ULONGLONG KeQueryInterruptTime();

返回值

KeQueryInterruptTime 以 100 纳秒为单位返回当前中断时间计数。 此返回值的更新通常在每个系统时钟刻度周期中至少发生一次。

言论

此例程返回系统中断时间,这是自上次启动作系统以来的时间。 当作系统启动时,中断时间计数从零开始,并在每个时钟中断时按时钟周期的长度递增。 由于各种原因(例如硬件差异),系统时钟时钟的长度在计算机之间可能会有所不同。 调用 KeQueryTimeIncrement 例程来确定系统时钟时钟刻度的大小。

KeQueryInterruptTime 可用于性能优化。 此例程返回比 KeQueryTickCount 例程更精细的度量值。 调用 KeQueryInterruptTime 的开销远低于调用 KeQueryPerformanceCounter 例程。

因此,中断时间可用于在系统运行时测量非常精细的持续时间,因为设置或重置系统时间的作对系统中断时间计数没有影响。

但是,电源管理状态更改确实会影响系统中断时间计数。 在系统睡眠状态期间暂停中断时间计数的维护。 发生后续唤醒状态转换时,系统会将“偏差”值添加到中断时间计数,以补偿此类睡眠状态的估计持续时间。 KeQueryInterruptTime 返回的中断时间计数包括此偏差值。 若要获取无偏差的中断时间计数,请使用 KeQueryUnbiasedInterruptTime 例程,而不是 KeQueryInterruptTime

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 普遍
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

获取高分辨率时间戳

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime