Функция 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 | Любой уровень |