KeQueryInterruptTime 函数 (wdm.h)
KeQueryInterruptTime 例程返回系统中断时间计数的当前值,精确到系统时钟周期内。
语法
ULONGLONG KeQueryInterruptTime();
返回值
KeQueryInterruptTime 以 100 纳秒为单位返回当前中断时间计数。 通常每个系统时钟周期至少更新一次此返回值。
注解
此例程返回系统中断时间,即自上次启动操作系统以来的时间量。 当操作系统启动时,中断时间计数从零开始,并在每次时钟中断时递增时钟刻度。 由于各种原因(例如硬件差异),系统时钟时钟周期的长度可能因计算机而异。 调用 KeQueryTimeIncrement 例程以确定系统时钟刻度的大小。
KeQueryInterruptTime 可用于性能优化。 此例程返回比 KeQueryTickCount 例程更精细的度量。 与调用 KeQueryPerformanceCounter 例程相比,调用 KeQueryInterruptTime 的开销要小得多。
因此,中断时间可用于测量系统运行时非常精细的持续时间,因为设置或重置系统时间的操作对系统中断时间计数没有影响。
但是,电源管理状态更改会影响系统中断时间计数。 中断时间计数的维护在系统睡眠状态期间暂停。 发生后续唤醒状态转换时,系统会向中断时间计数添加“偏差”值,以补偿此类睡眠状态的估计持续时间。 KeQueryInterruptTime 返回的中断时间计数包括此偏差值。 若要获取无偏差中断时间计数,请使用 KeQueryUnbiasedInterruptTime 例程,而不是 KeQueryInterruptTime。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |
另请参阅
KeQueryInterruptTimePrecise