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 |