Compartilhar via


Função KeQuerySystemTimePrecise (wdm.h)

A rotina KeQuerySystemTimePrecise recupera a hora atual do sistema e é mais precisa do que a rotina KeQuerySystemTime .

Sintaxe

void KeQuerySystemTimePrecise(
  [out] PLARGE_INTEGER CurrentTime
);

Parâmetros

[out] CurrentTime

Um ponteiro para uma variável LARGE_INTEGER na qual a rotina grava a hora atual do sistema.

Retornar valor

Nenhum

Comentários

O tempo do sistema é uma contagem de intervalos de 100 nanossegundos desde 1º de janeiro de 1601. Esse valor é calculado para o fuso horário GMT. Para ajustar esse valor para o fuso horário local, chame a rotina ExSystemTimeToLocalTime .

KeQuerySystemTimePrecise é semelhante à rotina KeQuerySystemTime , mas é mais preciso. A hora do sistema relatada por KeQuerySystemTime é baseada no tique mais recente do temporizador do relógio do sistema. O temporizador de relógio é o temporizador de hardware que gera periodicamente interrupções para o relógio do sistema. O período uniforme entre interrupções do temporizador de relógio é conhecido como um tique de relógio do sistema e normalmente está no intervalo de 500 microssegundos a 15.625 milissegundos, dependendo da plataforma de hardware. O valor de tempo do sistema recuperado por KeQuerySystemTime é preciso dentro de um tique de relógio do sistema.

Para fornecer um valor de tempo do sistema mais preciso do que o de KeQuerySystemTime, KeQuerySystemTimePrecise usa o contador de desempenho do sistema para medir o tempo decorrido desde a última interrupção do temporizador do relógio e adiciona esse tempo ao tempo do relógio do sistema que ele calcula da contagem de temporizador do relógio. O tempo do sistema relatado por KeQuerySystemTimePrecise é preciso em um microssegundo.

Em algumas plataformas de hardware, uma chamada KeQuerySystemTimePrecise pode ser mais lenta do que uma chamada KeQuerySystemTime . O motivo é que KeQuerySystemTimePrecise lê o contador de desempenho, o que pode introduzir um atraso adicional. Para obter mais informações, consulte KeQueryPerformanceCounter.

Chame a rotina KeQueryTimeIncrement para determinar a duração de um tique de relógio do sistema.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

ExSystemTimeToLocalTime

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTickCount

KeQueryTimeIncrement