Partager via


KeQuerySystemTimePrecise, fonction (wdm.h)

La routine KeQuerySystemTimePrecise récupère l’heure système actuelle et est plus précise que la routine KeQuerySystemTime.

Syntaxe

void KeQuerySystemTimePrecise(
  [out] PLARGE_INTEGER CurrentTime
);

Paramètres

[out] CurrentTime

Pointeur vers une variable LARGE_INTEGER dans laquelle la routine écrit l’heure système actuelle.

Valeur de retour

Aucun

Remarques

Le temps système est un nombre d’intervalles de 100 nanosecondes depuis le 1er janvier 1601. Cette valeur est calculée pour le fuseau horaire GMT. Pour ajuster cette valeur pour le fuseau horaire local, appelez la routine ExSystemTimeToLocalTime.

keQuerySystemTimePrecise est similaire à la routine KeQuerySystemTime, mais est plus précise. L’heure système signalée par KeQuerySystemTime est basée sur la dernière graduation du minuteur d’horloge système. Le minuteur d’horloge est le minuteur matériel qui génère régulièrement des interruptions pour l’horloge système. La période uniforme entre les interruptions du minuteur d’horloge est appelée cycles d’horloge système et est généralement comprise entre 500 microsecondes et 15,625 millisecondes, selon la plateforme matérielle. La valeur de temps système récupérée par KeQuerySystemTime est précise dans une graduation d’horloge système.

Pour fournir une valeur de temps système plus précise que celle de KeQuerySystemTime, KeQuerySystemTimePrecise utilise le compteur de performances système pour mesurer le temps écoulé depuis la dernière interruption du minuteur d’horloge et ajoute cette heure à l’heure de l’horloge système calculée à partir du nombre de minuteurs d’horloge. L’heure système signalée par KeQuerySystemTimePrecise est exacte dans un microseconde.

Sur certaines plateformes matérielles, un appel KeQuerySystemTimePrecise peut être plus lent qu’un appel KeQuerySystemTime. La raison est que KeQuerySystemTimePrecise lit le compteur de performances, ce qui peut introduire un délai supplémentaire. Pour plus d’informations, consultez KeQueryPerformanceCounter.

Appelez la routine KeQueryTimeIncrement pour déterminer la durée d’une graduation d’horloge système.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau

Voir aussi

ExSystemTimeToLocalTime

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTickCount

KeQueryTimeIncrement