KeQueryInterruptTime, fonction (wdm.h)
La routine KeQueryInterruptTime retourne la valeur actuelle du nombre d’interruptions de temps d’interruption du système, avec précision à la graduation de l’horloge système.
Syntaxe
ULONGLONG KeQueryInterruptTime();
Valeur de retour
KeQueryInterruptTime retourne le nombre d’interruptions actuel en unités de 100 nanosecondes. La mise à jour de cette valeur de retour se produit généralement au moins une fois par cycles d’horloge système.
Remarques
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.
KeQueryInterruptTime pouvez être utilisé pour le réglage des performances. Cette routine retourne une mesure plus fine que la routine KeQueryTickCount. Un appel à KeQueryInterruptTime a considérablement moins de surcharge qu’un appel à la routine KeQueryPerformanceCounter.
Par conséquent, le temps d’interruption peut être utilisé pour mesurer des durées très précises pendant l’exécution du système, car les opérations qui définissent ou réinitialisent l’heure du système n’ont aucun effet sur le nombre de temps d’interruption du système.
Toutefois, les modifications d’état de gestion de l’alimentation affectent le nombre de temps d’interruption du système. La maintenance du nombre de temps d’interruption est suspendue pendant les états de veille du système. Lorsqu’une transition d’état de veille suivante se produit, le système ajoute une valeur de « biais » au nombre de temps d’interruption pour compenser la durée estimée d’un tel état de veille. Le nombre de temps d’interruption retourné par KeQueryInterruptTime inclut cette valeur de biais. Pour obtenir un nombre de temps d’interruption non biaisé, utilisez la routine KeQueryUnbiasedInterruptTime au lieu de KeQueryInterruptTime.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
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
Acquisition d’horodatages haute résolution
KeQueryInterruptTimePrecise