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 |