Funzione KeQuerySystemTimePrecise (wdm.h)

La routine KeQuerySystemTimePrecise recupera l'ora di sistema corrente ed è più precisa della routine KeQuerySystemTime .

Sintassi

void KeQuerySystemTimePrecise(
  [out] PLARGE_INTEGER CurrentTime
);

Parametri

[out] CurrentTime

Puntatore a una variabile LARGE_INTEGER in cui la routine scrive l'ora di sistema corrente.

Valore restituito

nessuno

Osservazioni

Il tempo di sistema è un conteggio di intervalli di 100 nanosecondi dal 1° gennaio 1601. Questo valore viene calcolato per il fuso orario GMT. Per modificare questo valore per il fuso orario locale, chiamare la routine ExSystemTimeToLocalTime .

KeQuerySystemTimePrecise è simile alla routine KeQuerySystemTime , ma è più precisa. L'ora di sistema segnalata da KeQuerySystemTime è basata sul tick più recente del timer dell'orologio di sistema. Il timer dell'orologio è il timer hardware che genera periodicamente interrupt per l'orologio di sistema. Il periodo uniforme tra gli interrupt del timer di clock viene definito tick del clock di sistema ed è in genere compreso nell'intervallo di 500 microsecondi a 15,625 millisecondi, a seconda della piattaforma hardware. Il valore dell'ora di sistema recuperato da KeQuerySystemTime è accurato all'interno di un tick dell'orologio di sistema.

Per fornire un valore di ora di sistema più accurato rispetto a quello di KeQuerySystemTime, KeQuerySystemTimePrecise usa il contatore delle prestazioni di sistema per misurare il tempo trascorso dall'ultimo interrupt del timer dell'orologio e aggiunge questa ora all'ora di clock di sistema calcolata dal conteggio dei timer di clock. L'ora di sistema segnalata da KeQuerySystemTimePrecise è accurata all'interno di un microsecondo.

In alcune piattaforme hardware, una chiamata KeQuerySystemTimePrecise potrebbe essere più lenta rispetto a una chiamata KeQuerySystemTime . Il motivo è che KeQuerySystemTimePrecise legge il contatore delle prestazioni, che può introdurre un ritardo aggiuntivo. Per altre informazioni, vedere KeQueryPerformanceCounter.

Chiamare la routine KeQueryTimeIncrement per determinare la durata di un tick dell'orologio di sistema.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello

Vedi anche

ExSystemTimeToLocalTime

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTickCount

KeQueryTimeIncrement