KeQueryInterruptTime-Funktion (wdm.h)

Die KeQueryInterruptTime-Routine gibt den aktuellen Wert der Anzahl der Systemunterbrechungszeit zurück, wobei die Genauigkeit innerhalb des Systemzeitpunkts angegeben ist.

Syntax

ULONGLONG KeQueryInterruptTime();

Rückgabewert

KeQueryInterruptTime gibt die aktuelle Interruptzeitanzahl in Einheiten von 100 Nanosekunden zurück. Die Aktualisierung dieses Rückgabewerts erfolgt in der Regel mindestens einmal pro Systemtakttakt.

Hinweise

Diese Routine gibt die Systemunterbrechungszeit zurück, d. h. die Zeitspanne seit dem letzten Start des Betriebssystems. Die Anzahl der Unterbrechungszeiten beginnt bei null, wenn das Betriebssystem gestartet wird, und wird bei jedem Unterbrechungsintervall um die Länge eines Taktstrichs erhöht. Aus verschiedenen Gründen, z. B. Hardwareunterschieden, kann die Länge eines Systemuhrtakts zwischen Computern variieren. Rufen Sie die KeQueryTimeIncrement-Routine auf, um die Größe eines Systemuhrtakts zu bestimmen.

KeQueryInterruptTime kann für die Leistungsoptimierung verwendet werden. Diese Routine gibt eine feiner abgestreckte Messung als die KeQueryTickCount-Routine zurück. Auch ein Aufruf von KeQueryInterruptTime hat einen erheblich geringeren Mehraufwand als ein Aufruf der KeQueryPerformanceCounter-Routine .

Folglich kann die Interruptzeit 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 Anzahl der Systemunterbrechungszeiten haben.

Änderungen des Energieverwaltungszustands wirken sich jedoch auf die Anzahl der Systemunterbrechungszeiten aus. Die Wartung der Interruptzeitanzahl wird während des Systemzustands im Ruhezustand angehalten. Wenn ein nachfolgender Aktivierungszustandsübergang auftritt, fügt das System der Interruptzeitanzahl einen "Bias"-Wert hinzu, um die geschätzte Dauer eines solchen Ruhezustands zu kompensieren. Die Interruptzeitanzahl, die von KeQueryInterruptTime zurückgegeben wird, enthält diesen Biaswert. Um eine unvoreingenommene Interruptzeitanzahl zu erhalten, verwenden Sie die KeQueryUnbiasedInterruptTime-Routine anstelle von KeQueryInterruptTime.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

Abrufen von Zeitstempeln mit hoher Auflösung

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime