KeQuerySystemTimePrecise-Funktion (wdm.h)
Die KeQuerySystemTimePrecise-Routine ruft die aktuelle Systemzeit ab und ist präziser als die KeQuerySystemTime-Routine .
Syntax
void KeQuerySystemTimePrecise(
[out] PLARGE_INTEGER CurrentTime
);
Parameter
[out] CurrentTime
Ein Zeiger auf eine LARGE_INTEGER Variable, in die die Routine die aktuelle Systemzeit schreibt.
Rückgabewert
Keine
Bemerkungen
Die Systemzeit beträgt seit dem 1. Januar 1601 Intervalle von 100 Nanosekunden. Dieser Wert wird für die GMT-Zeitzone berechnet. Um diesen Wert für die lokale Zeitzone anzupassen, rufen Sie die ExSystemTimeToLocalTime-Routine auf.
KeQuerySystemTimePrecise ähnelt der KeQuerySystemTime-Routine , ist aber präziser. Die von KeQuerySystemTime gemeldete Systemzeit basiert auf dem neuesten Tick des Systemuhrtimers. Der Zeitgeber ist der Hardwaretimer, der regelmäßig Interrupts für die Systemuhr generiert. Der gleichmäßige Zeitraum zwischen Den Timer-Interrupts wird als Systemuhr tick bezeichnet und liegt je nach Hardwareplattform in der Regel im Bereich von 500 Mikrosekunden bis 15,625 Millisekunden. Der von KeQuerySystemTime abgerufene Systemzeitwert ist innerhalb einer Systemuhr genau.
Um einen Systemzeitwert bereitzustellen, der genauer ist als der von KeQuerySystemTimeTime, verwendet KeQuerySystemTimePrecise den Systemleistungsindikator, um die verstrichene Zeit seit dem letzten Timer-Interrupt zu messen, und fügt diese Zeit der Systemuhrzeit hinzu, die aus der Anzahl der Zeitgeber berechnet wird. Die von KeQuerySystemTimePrecise gemeldete Systemzeit ist auf eine Mikrosekunde genau.
Auf einigen Hardwareplattformen ist ein KeQuerySystemTimePrecise-Aufruf möglicherweise langsamer als ein KeQuerySystemTime-Aufruf . Der Grund ist, dass KeQuerySystemTimePrecise den Leistungsindikator liest, was zu einer zusätzlichen Verzögerung führen kann. Weitere Informationen finden Sie unter KeQueryPerformanceCounter.
Rufen Sie die KeQueryTimeIncrement-Routine auf, um die Dauer eines Systemuhr ticks zu bestimmen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |