Freigeben über


KeQueryInterruptTime-Funktion (wdm.h)

Die KeQueryInterruptTime Routine gibt den aktuellen Wert des Systems Unterbrechungszeit Anzahl zurück, wobei die Genauigkeit innerhalb des Systemuhrstrichs korrekt ist.

Syntax

ULONGLONG KeQueryInterruptTime();

Rückgabewert

KeQueryInterruptTime- gibt die aktuelle Unterbrechungszeitanzahl in 100-Nanosekundeneinheiten zurück. Die Aktualisierung dieses Rückgabewerts erfolgt in der Regel mindestens einmal pro Systemuhrstrich.

Bemerkungen

Diese Routine gibt die Systemunterbrechungszeit zurück, was die Zeit seit dem letzten Start des Betriebssystems ist. Die Unterbrechungszeitanzahl beginnt bei Null, wenn das Betriebssystem startet und bei jeder Uhr um die Länge eines Taktstrichs erhöht wird. Aus verschiedenen Gründen, z. B. Hardwareunterschiede, kann die Länge eines Systemuhrstrichs zwischen Computern variieren. Rufen Sie die KeQueryTimeIncrement Routine auf, um die Größe eines Systemuhrstrichs zu bestimmen.

KeQueryInterruptTime- kann zur Leistungsoptimierung verwendet werden. Diese Routine gibt eine feiner abgestimmte Messung als die KeQueryTickCount Routine zurück. Ein Aufruf von KeQueryInterruptTime hat erheblich weniger Aufwand als ein Aufruf der KeQueryPerformanceCounter- Routine.

Aus diesem Grund kann die Unterbrechungszeit verwendet werden, um sehr differenzierte Dauer zu messen, während das System ausgeführt wird, da Vorgänge, die die Systemzeit festlegen oder zurücksetzen, keine Auswirkungen auf die Systemunterbrechungszeitanzahl haben.

Änderungen des Energieverwaltungszustands wirken sich jedoch auf die Anzahl der Unterbrechungszeit des Systems aus. Die Wartung der Unterbrechungszeitanzahl wird während des Ruhezustands des Systems angehalten. Wenn ein späterer Wachzustandsübergang auftritt, fügt das System der Unterbrechungszeitanzahl einen "Bias"-Wert hinzu, um die geschätzte Dauer eines solchen Ruhezustands auszugleichen. Die Unterbrechungszeitanzahl, die von KeQueryInterruptTime- zurückgegeben wird, enthält diesen Bias-Wert. Verwenden Sie die KeQueryUnbiasedInterruptTime Routine anstelle von KeQueryInterruptTime, um eine unvoreingenommene Unterbrechungszeit zu erhalten.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene

Siehe auch

Abrufen von hochauflösenden Zeitstempeln

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime