Freigeben über


GetProcessTimes-Funktion (processthreadsapi.h)

Ruft Zeitsteuerungsinformationen für den angegebenen Prozess ab.

Syntax

BOOL GetProcessTimes(
  [in]  HANDLE     hProcess,
  [out] LPFILETIME lpCreationTime,
  [out] LPFILETIME lpExitTime,
  [out] LPFILETIME lpKernelTime,
  [out] LPFILETIME lpUserTime
);

Parameter

[in] hProcess

Ein Handle für den Prozess, dessen Zeitplanungsinformationen angefordert werden. Das Handle muss über das PROCESS_QUERY_INFORMATION - oder PROCESS_QUERY_LIMITED_INFORMATION-Zugriffsrecht verfügen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.

Windows Server 2003 und Windows XP: Das Handle muss über das zugriffsrecht PROCESS_QUERY_INFORMATION verfügen.

[out] lpCreationTime

Ein Zeiger auf eine FILETIME-Struktur , die die Erstellungszeit des Prozesses empfängt.

[out] lpExitTime

Ein Zeiger auf eine FILETIME-Struktur , die die Beendigungszeit des Prozesses empfängt. Wenn der Prozess nicht beendet wurde, ist der Inhalt dieser Struktur nicht definiert.

[out] lpKernelTime

Ein Zeiger auf eine FILETIME-Struktur , die die Zeit empfängt, die der Prozess im Kernelmodus ausgeführt hat. Die Zeit, zu der die einzelnen Threads des Prozesses im Kernelmodus ausgeführt wurden, wird bestimmt, und dann werden alle diese Zeiten zusammengezählt, um diesen Wert zu erhalten.

[out] lpUserTime

Ein Zeiger auf eine FILETIME-Struktur , die die Zeit empfängt, die der Prozess im Benutzermodus ausgeführt hat. Die Zeit, zu der die einzelnen Threads des Prozesses im Benutzermodus ausgeführt wurden, wird bestimmt, und dann werden alle diese Zeiten zusammengezählt, um diesen Wert abzurufen. Beachten Sie, dass dieser Wert die Verstrichene in Echtzeit (zwischen lpCreationTime und lpExitTime) überschreiten kann, wenn der Prozess über mehrere CPU-Kerne hinweg ausgeführt wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Alle Zeiten werden mithilfe von FILETIME-Datenstrukturen ausgedrückt. Eine solche Struktur enthält zwei 32-Bit-Werte, die zu einer 64-Bit-Anzahl von 100 Nanosekunden-Zeiteinheiten kombiniert werden.

Prozesserstellungs- und Exitzeiten sind Zeitpunkte, die als Die Zeitspanne ausgedrückt werden, die seit Mitternacht am 1. Januar 1601 in Greenwich, England verstrichen ist. Es gibt mehrere Funktionen, die eine Anwendung verwenden kann, um solche Werte in allgemein nützlichere Formulare zu konvertieren.

Prozesskernmodus- und Benutzermoduszeiten sind Zeitmengen. Wenn ein Prozess beispielsweise eine Sekunde im Kernelmodus verbracht hat, füllt diese Funktion die von lpKernelTime angegebene FILETIME-Struktur mit einem 64-Bit-Wert von zehn Millionen. Das ist die Anzahl von 100 Nanosekundeneinheiten in einer Sekunde.

Verwenden Sie die QueryProcessCycleTime-Funktion , um die Anzahl der CPU-Taktzyklen abzurufen, die von den Threads des Prozesses verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile processthreadsapi.h (einschließlich Windows.h unter Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

Prozess- und Threadfunktionen

Prozesse