QueryInterruptTimePrecise-Funktion (realtimeapiset.h)

Ruft die aktuelle Interruptzeitanzahl in einer präziseren Form ab als QueryInterruptTime .

Syntax

void QueryInterruptTimePrecise(
  [out] PULONGLONG lpInterruptTimePrecise
);

Parameter

[out] lpInterruptTimePrecise

Ein Zeiger auf eine ULONGLONG, in der die Interruptzeitanzahl in Systemzeiteinheiten von 100 Nanosekunden empfangen werden soll. Dividieren Sie durch zehn Millionen oder 1e7, um Sekunden zu erhalten (es gibt 1e9 Nanosekunden in einer Sekunde, sodass es 1e7 100 Nanosekunden in einer Sekunde gibt).

Rückgabewert

Keine

Bemerkungen

QueryInterruptTimePrecise ähnelt der QueryInterruptTime-Routine , ist aber präziser. Die von QueryInterruptTime gemeldete Interruptzeit basiert auf dem neuesten Tick des Systemuhrtimers. Der Systemuhrtimer ist der Hardwaretimer, der regelmäßig Interrupts für die Systemuhr generiert. Der gleichmäßige Zeitraum zwischen Unterbrechungen des Systemuhrzeitgebers wird als Systemuhr-Tick bezeichnet und liegt je nach Hardwareplattform in der Regel im Bereich von 0,5 Millisekunden bis 15,625 Millisekunden. Der von QueryInterruptTime abgerufene Interruptzeitwert ist innerhalb einer Systemuhr genau.

Um einen Systemzeitwert bereitzustellen, der präziser ist als der von QueryInterruptTime, liest QueryInterruptTimePrecise die Timerhardware direkt. Daher kann ein QueryInterruptTimePrecise-Aufruf langsamer sein als ein QueryInterruptTime-Aufruf .

Rufen Sie die KeQueryTimeIncrement-Routine auf, um die Dauer eines Systemuhr ticks zu bestimmen.

Weitere Informationen finden Sie unter Hinweise in QueryInterruptTime.

Hinweis Die QueryInterruptTimePrecise-Funktion erzeugt unterschiedliche Ergebnisse bei Debugbuilds von Windows ("überprüft"), da die Anzahl der Unterbrechungszeit und die Tickanzahl um ungefähr 49 Tage erweitert werden. Dies hilft, Fehler zu identifizieren, die möglicherweise erst auftreten, wenn das System lange ausgeführt wurde. Der überprüfte Build steht MSDN-Abonnenten über die MSDN-Website (Microsoft Developer Network) zur Verfügung.
 
Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0601 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile realtimeapiset.h
Bibliothek Mincore.lib
DLL Kernel32.dll

Siehe auch

Unterbrechungszeit

QueryInterruptTime

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

Systemstromzustände

Windows-Zeitdienst