KeQueryUnbiasedInterruptTime, fonction (wdm.h)
La routine KeQueryUnbiasedInterruptTime retourne la valeur actuelle du nombre de temps d’interruption système.
ULONGLONG KeQueryUnbiasedInterruptTime();
KeQueryUnbiasedInterruptTime retourne le nombre de temps d’interruption actuel en unités de 100 nanosecondes. Le nombre commence à zéro au démarrage de l’ordinateur. Les mises à jour de ce nombre sont suspendues lorsque l’ordinateur entre dans un état de veille et reprend lorsque l’ordinateur se réveille.
Les pilotes en mode noyau peuvent appeler cette routine pour mesurer des durées relativement précises.
Cette routine retourne l’heure d’interruption du système, qui est la durée depuis le dernier démarrage du système d’exploitation. Le nombre d’interruptions commence à zéro lorsque le système d’exploitation démarre et est incrémenté à chaque interruption d’horloge par la longueur d’une graduation d’horloge. Pour différentes raisons, telles que les différences matérielles, la longueur d’une graduation d’horloge système peut varier entre les ordinateurs. Appelez la routine KeQueryTimeIncrement pour déterminer la taille d’une graduation d’horloge système.
Les routines KeQueryUnbiasedInterruptTime et KeQueryInterruptTime sont similaires, mais elles diffèrent de la façon dont elles tiennent compte des périodes pendant lesquelles le système d’exploitation suspend les mises à jour du nombre de temps d’interruption. Par exemple, ces mises à jour sont suspendues pendant que l’ordinateur est dans un état de veille système. Pour compenser les périodes dans lesquelles les mises à jour du nombre sont suspendues, KeQueryInterruptTime retourne une valeur de nombre biaisée calculée en ajoutant un nombre de biais au nombre de temps d’interruption brut. Le nombre de biais correspond à la somme estimée de toutes les mises à jour du nombre de temps d’interruption manqué par le système d’exploitation pendant la suspension du comptage. En revanche, KeQueryUnbiasedInterruptTime retourne le nombre brut et non biaisé.
Contrairement à la routine KeQuerySystemTime, KeQueryUnbiasedInterruptTime retourne une valeur de nombre qui n’est pas affectée par les opérations qui définissent ou réinitialisent l’heure système. En outre, l’heure système signalée par KeQuerySystemTime est généralement mise à jour toutes les dix millisecondes environ. En revanche, le nombre retourné par KeQueryUnbiasedInterruptTime est mis à jour au moins une fois par cycles d’horloge système.
Dans Windows 2000 et versions ultérieures du système d’exploitation Windows, la routine KeQueryPerformanceCounter fournit le nombre d’exécutions le plus précis disponible à partir du système d’exploitation.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 7. |
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 |