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
None
Remarques
L’heure 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écis. 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 d’heure système récupérée par KeQuerySystemTime est précise dans une horloge système.
Pour fournir une valeur d’heure 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 d’horloge système qu’il calcule à partir du nombre de minuteurs d’horloge. L’heure système signalée par KeQuerySystemTimePrecise est exacte à une microseconde.
Sur certaines plateformes matérielles, un appel KeQuerySystemTimePrecise peut être plus lent qu’un appel KeQuerySystemTime . La raison en 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 horloge système.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |