Partager via


Fonction KeQueryInterruptTime (wdm.h)

La routine KeQueryInterruptTime retourne la valeur actuelle du nombre de temps d’interruption du système, avec une précision dans l’horloge système.

Syntaxe

ULONGLONG KeQueryInterruptTime();

Valeur de retour

KeQueryInterruptTime retourne le nombre actuel de temps d’interruption en unités de 100 nanosecondes. La mise à jour de cette valeur de retour se produit généralement au moins une fois par horloge système.

Remarques

Cette routine retourne l’heure d’interruption du système, qui correspond au délai écoulé depuis le dernier démarrage du système d’exploitation. Le nombre de temps d’interruption commence à zéro au démarrage du système d’exploitation et est incrémenté à chaque interruption d’horloge par la longueur d’une horloge. Pour diverses raisons, telles que les différences matérielles, la longueur d’une horloge système peut varier d’un ordinateur à l’autre. Appelez la routine KeQueryTimeIncrement pour déterminer la taille d’une horloge système.

KeQueryInterruptTime peut être utilisé pour l’optimisation des performances. Cette routine retourne une mesure plus fine que la routine KeQueryTickCount . Un appel à KeQueryInterruptTime a beaucoup moins de surcharge qu’un appel à la routine KeQueryPerformanceCounter , ainsi.

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 système n’ont aucun effet sur le nombre de temps d’interruption système.

Toutefois, les changements 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 ultérieure 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure 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

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime