KeQueryUnbiasedInterruptTime-Funktion (wdm.h)
Die KeQueryUnbiasedInterruptTime Routine gibt den aktuellen Wert des Systems Unterbrechungszeit Anzahl zurück.
Syntax
ULONGLONG KeQueryUnbiasedInterruptTime();
Rückgabewert
KeQueryUnbiasedInterruptTime- gibt die aktuelle Unterbrechungszeitanzahl in 100-Nanosekundeneinheiten zurück. Die Anzahl beginnt bei Null, wenn der Computer gestartet wird. Updates für diese Anzahl werden angehalten, wenn der Computer in den Ruhezustand wechselt und fortgesetzt wird, wenn der Computer aktiviert wird.
Bemerkungen
Kernelmodustreiber können diese Routine aufrufen, um relativ präzise Dauer zu messen.
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.
Die KeQueryUnbiasedInterruptTime und KeQueryInterruptTime Routinen sind ähnlich, unterscheiden sich jedoch in der Art und Weise, in der sie Zeiträume berücksichtigen, in denen das Betriebssystem Updates der Unterbrechungszeitanzahl ansetzt. Diese Updates werden z. B. angehalten, während sich der Computer im Ruhezustand des Systems befindet. Um Zeiträume zu kompensieren, in denen Aktualisierungen der Zählung angehalten werden, gibt KeQueryInterruptTime einen voreingenommenen Zählerwert zurück, der berechnet wird, indem der rohen Unterbrechungszeitzähler eine Abweichungsanzahl hinzugefügt wird. Die Abweichungsanzahl ist die geschätzte Summe aller Updates für die Unterbrechungszeitanzahl, die das Betriebssystem beim Anhalten der Zählung verpasst hat. Im Gegensatz dazu gibt KeQueryUnbiasedInterruptTime die unformatierte, unvoreingenommene Anzahl zurück.
Im Gegensatz zur KeQuerySystemTime Routine gibt KeQueryUnbiasedInterruptTime einen Zählungswert zurück, der von Vorgängen, die die Systemzeit festlegen oder zurücksetzen, nicht beeinflusst wird. Darüber hinaus wird die Systemzeit, die von KeQuerySystemTime- gemeldet wird, in der Regel ungefähr alle zehn Millisekunden aktualisiert. Im Gegensatz dazu wird die Anzahl, die von KeQueryUnbiasedInterruptTime- zurückgegeben wird, mindestens einmal pro Systemuhr-Tick aktualisiert.
In Windows 2000 und höheren Versionen des Windows-Betriebssystems bietet die KeQueryPerformanceCounter- Routine die feinst abgestimmte Ausführungsanzahl, die vom Betriebssystem verfügbar ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 7. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | Beliebige Ebene |