Функция KeQuerySystemTimePrecise (wdm.h)
Подпрограмм а keQuerySystemTimePrecise получает текущее системное времяи более точно, чем подпрограмм а keQuerySystemTime.
Синтаксис
void KeQuerySystemTimePrecise(
[out] PLARGE_INTEGER CurrentTime
);
Параметры
[out] CurrentTime
Указатель на переменную LARGE_INTEGER, в которую подпрограмма записывает текущее системное время.
Возвращаемое значение
Никакой
Замечания
Системное время — это число 100-наносекунд интервалов с 1 января 1601 года. Это значение вычисляется для часового пояса GMT. Чтобы настроить это значение для локального часового пояса, вызовите подпрограмму ExSystemTimeToLocalTime.
KeQuerySystemTimePrecise похож на подпрограмму KeQuerySystemTime, но более точно. Системное время, сообщаемое KeQuerySystemTime, основано на последнем тике таймера системных часов. Таймер часов — это аппаратный таймер, который периодически создает прерывания для системных часов. Универсальный период между прерываниями таймера часов называется системным часы и обычно находится в диапазоне от 500 микросекунд до 15,625 миллисекунд, в зависимости от аппаратной платформы. Значение системного времени, полученное KeQuerySystemTime, является точным в часы системы.
Чтобы предоставить системное значение времени, которое является более точным, чем KeQuerySystemTime, KeQuerySystemTimePrecise использует счетчик производительности системы для измерения времени, прошедшего с момента последнего прерывания таймера часов, и добавляет это время в системное время, которое он вычисляет из счетчика таймера часов. Системное время, сообщаемое KeQuerySystemTimePrecise точно соответствует микросекундам.
На некоторых аппаратных платформах вызов KeQuerySystemTimePrecise может быть медленнее, чем вызов KeQuerySystemTime. Причина в том, что KeQuerySystemTimePrecise считывает счетчик производительности, что может привести к дополнительной задержке. Дополнительные сведения см. в разделе KeQueryPerformanceCounter.
Вызовите подпрограмму KeQueryTimeIncrement, чтобы определить продолжительность системных часов.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |