Função KeQuerySystemTimePrecise (wdm.h)
A rotina de KeQuerySystemTimePrecise recupera o de tempo atual do sistemae é mais precisa do que a rotina de 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.
Valor de retorno
Nenhum
Observações
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 de KeQuerySystemTime, mas é mais precisa. A hora do sistema relatada pelo KeQuerySystemTime baseia-se 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 de 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 pelo 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 interrupção do temporizador do último relógio e adiciona essa hora ao tempo de 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 |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 8. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Qualquer nível |