Функция KeQueryUnbiasedInterruptTime (wdm.h)

Подпрограмма KeQueryUnbiasedInterruptTime возвращает текущее значение счетчика времени прерываний системы.

Синтаксис

ULONGLONG KeQueryUnbiasedInterruptTime();

Возвращаемое значение

KeQueryUnbiasedInterruptTime возвращает текущее количество времени прерываний в единицах 100 наносекунд. Счетчик начинается с нуля при запуске компьютера. Обновления этого счетчика приостанавливаются, когда компьютер переходит в спящий режим, и возобновляются при пробуждении компьютера.

Комментарии

Драйверы в режиме ядра могут вызывать эту подпрограмму для измерения относительно детализированных длительности.

Эта подпрограмма возвращает время прерывания системы, то есть количество времени с момента последнего запуска операционной системы. Счетчик времени прерываний начинается с нуля при запуске операционной системы и увеличивается при каждом прерывании часов на длину такта часов. По различным причинам, таким как аппаратные различия, длина тактов системных часов может отличаться на разных компьютерах. Вызовите подпрограмму KeQueryTimeIncrement , чтобы определить размер такта системных часов.

Подпрограммы KeQueryUnbiasedInterruptTime и KeQueryInterruptTime похожи, но отличаются тем, как они учитывают периоды, в течение которых операционная система приостанавливает обновления счетчика времени прерываний. Например, эти обновления приостанавливаются, когда компьютер находится в спящем режиме. Для компенсации периодов, в течение которых обновления счетчика приостанавливаются, KeQueryInterruptTime возвращает значение счетчика с смещением, вычисляемое путем добавления счетчика смещения к числу необработанных прерываний. Счетчик смещения — это оценочная сумма всех обновлений для счетчика времени прерывания, пропущенного операционной системой во время приостановки подсчета. В отличие от этого, KeQueryUnbiasedInterruptTime возвращает необработанное, беспристрастное число.

В отличие от подпрограммы KeQuerySystemTime , KeQueryUnbiasedInterruptTime возвращает значение счетчика, которое не зависит от операций, которые устанавливают или сбрасывают системное время. Кроме того, системное время, сообщаемое KeQuerySystemTime , обычно обновляется примерно каждые десять миллисекундах. В отличие от этого, счетчик, возвращаемый KeQueryUnbiasedInterruptTime , обновляется по крайней мере один раз для каждого такта системных часов.

В Windows 2000 и более поздних версиях операционной системы Windows подпрограмма KeQueryPerformanceCounter предоставляет наиболее детальное количество выполняемых задач, доступное в операционной системе.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 7.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень

См. также раздел

KeQueryInterruptTime

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTimeIncrement