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