KeQueryUnbiasedInterruptTime-Funktion (wdm.h)
Die KeQueryUnbiasedInterruptTime-Routine gibt den aktuellen Wert der Anzahl der Systemunterbrechungszeit zurück.
Syntax
ULONGLONG KeQueryUnbiasedInterruptTime();
Rückgabewert
KeQueryUnbiasedInterruptTime gibt die aktuelle Interruptzeitanzahl in Einheiten von 100 Nanosekunden zurück. Die Anzahl beginnt bei 0, wenn der Computer gestartet wird. Updates zu dieser Anzahl werden angehalten, wenn der Computer in einen Ruhezustand wechselt, und werden fortgesetzt, wenn der Computer aktiviert wird.
Hinweise
Kernelmodustreiber können diese Routine aufrufen, um relativ differenzierte Dauer zu messen.
Diese Routine gibt die Systemunterbrechungszeit zurück, d. h. die Zeitspanne seit dem letzten Start des Betriebssystems. Die Anzahl der Unterbrechungszeiten beginnt bei 0, wenn das Betriebssystem startet, und wird bei jedem Unterbrechung der Uhr um die Länge eines Taktes erhöht. Aus verschiedenen Gründen, z. B. Hardwareunterschieden, kann die Länge einer Systemuhr von Computer zu Computer variieren. Rufen Sie die KeQueryTimeIncrement-Routine auf, um die Größe eines Systemuhr ticks zu bestimmen.
Die Routinen KeQueryUnbiasedInterruptTime und KeQueryInterruptTime sind ähnlich, unterscheiden sich jedoch in der Art und Weise, in der sie Zeiträume berücksichtigen, in denen das Betriebssystem Updates der Interruptzeitanzahl ansetzt. Beispielsweise werden diese Updates angehalten, während sich der Computer im Systemmodus befindet. Um Zeiträume zu kompensieren, in denen Aktualisierungen der Anzahl angehalten werden, gibt KeQueryInterruptTime einen biased count-Wert zurück, den es durch Hinzufügen einer Biasanzahl zur rohen Interruptzeitanzahl berechnet. Die Biasanzahl ist die geschätzte Summe aller Updates für die Interruptzeitanzahl, 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 Count-Wert zurück, der nicht von Vorgängen beeinflusst wird, die die Systemzeit festlegen oder zurücksetzen. Darüber hinaus wird die von KeQuerySystemTime gemeldete Systemzeit in der Regel etwa 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 fein abgestufte Ausführungsanzahl, die vom Betriebssystem verfügbar ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 7. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |