Freigeben über


QueryUnbiasedInterruptTime-Funktion (realtimeapiset.h)

Ruft die aktuelle unvoreingenommene Unterbrechungszeitanzahl in Einheiten von 100 Nanosekunden ab. Die unvoreingenommene Unterbrechungszeit umfasst nicht die Zeit, die das System im Ruhezustand oder im Ruhezustand verbringt.

Syntax

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Parameter

UnbiasedTime

TBD

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null. Wenn die Funktion fehlschlägt, weil sie mit einem NULL-Parameter aufgerufen wird, ist der Rückgabewert null.

Bemerkungen

Die Unterbrechungszeitanzahl beginnt bei Null, wenn das System beginnt und bei jeder Uhr um die Länge eines Taktstrichs erhöht wird. Die genaue Länge eines Taktstrichs hängt von der zugrunde liegenden Hardware ab und kann zwischen Systemen variieren.

Die Unterbrechungszeitanzahl, die von der QueryUnbiasedInterruptTime- Funktion abgerufen wird, spiegelt nur die Zeit wider, zu der sich das System im Arbeitszustand befindet. Daher ist die Unterbrechungszeitanzahl nicht "voreingenommen" durch die Zeit, die das System im Ruhezustand oder im Ruhezustand verbringt. Das System verwendet eine voreingenommene Unterbrechungszeit für einige Vorgänge, z. B. die Sicherstellung, dass relative Timer, die während des Schlafes abgelaufen wären, sofort nach dem Aufwachen ablaufen.

Im Gegensatz zur Systemzeit unterliegt die Unterbrechungszeit nicht den Anpassungen durch Benutzer oder den Windows-Zeitdienst. Anwendungen können die Unterbrechungszeitanzahl verwenden, um feinere Dauer zu messen, als mit der Systemzeit möglich sind. Anwendungen, die eine höhere Genauigkeit als die Unterbrechungszeitanzahl erfordern, sollten einen hochauflösenden Timerverwenden. Verwenden Sie die QueryPerformanceFrequency-funktion, um die Häufigkeit des hochauflösenden Timers und der QueryPerformanceCounter--Funktion abzurufen, um den Wert des Zählers abzurufen.

Die zeitgeberauflösung, die durch die timeBeginPeriod- und timeEndPeriod--Funktionen festgelegt wird, wirkt sich auf die Auflösung der QueryUnbiasedInterruptTime--Funktion aus. Das Erhöhen der Timerauflösung wird jedoch nicht empfohlen, da sie die Gesamtleistung des Systems reduzieren und den Stromverbrauch des Systems erhöhen kann, indem verhindert wird, dass der Prozessor Stromsparzustände eingibt. Stattdessen sollten Anwendungen einen hochauflösenden Timer verwenden.

Hinweis Die QueryUnbiasedInterruptTime--Funktion erzeugt unterschiedliche Ergebnisse für Debugbuilds ("aktiviert") von Windows, da die Unterbrechungszeitanzahl und die Teilstrichanzahl um ca. 49 Tage erweitert werden. Dadurch können Fehler identifiziert werden, die möglicherweise erst auftreten, wenn das System lange ausgeführt wurde.
 
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
mindestens unterstützte Client- Windows 7, Windows 8 [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- realtimeapiset.h (include Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

Unterbrechungszeit

QueryInterruptTime-

QueryInterruptTimePrecise-

QueryUnbiasedInterruptTimePrecise

System-Power States

Windows Time