Condividi tramite


Funzione GetProcessTimes (processthreadsapi.h)

Recupera le informazioni sulla tempistica per il processo specificato.

Sintassi

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

Parametri

[in] hProcess

Handle per il processo il cui temporizzazione viene cercato. L'handle deve avere il diritto di accesso PROCESS_QUERY_INFORMATION o PROCESS_QUERY_LIMITED_INFORMATION . Per altre informazioni, vedere Elaborare diritti di sicurezza e accesso.

Windows Server 2003 e Windows XP: L'handle deve avere il diritto di accesso PROCESS_QUERY_INFORMATION .

[out] lpCreationTime

Puntatore a una struttura FILETIME che riceve l'ora di creazione del processo.

[out] lpExitTime

Puntatore a una struttura FILETIME che riceve l'ora di uscita del processo. Se il processo non è terminato, il contenuto di questa struttura non è definito.

[out] lpKernelTime

Puntatore a una struttura FILETIME che riceve il tempo di esecuzione del processo in modalità kernel. Il momento in cui ogni thread del processo è stato eseguito in modalità kernel, quindi tutte queste volte vengono sommate insieme per ottenere questo valore.

[out] lpUserTime

Puntatore a una struttura FILETIME che riceve il tempo di esecuzione del processo in modalità utente. Il momento in cui ogni thread del processo è stato eseguito in modalità utente, quindi tutti questi tempi vengono sommati insieme per ottenere questo valore. Si noti che questo valore può superare la quantità di tempo reale trascorso (tra lpCreationTime e lpExitTime) se il processo viene eseguito in più core CPU.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Tutti i tempi vengono espressi usando strutture di dati FILETIME . Tale struttura contiene due valori a 32 bit che si combinano per formare un conteggio a 64 bit di unità di tempo a 100 nanosecondi.

I tempi di creazione e uscita del processo sono punti nel tempo espresso in base alla quantità di tempo trascorsa dalla mezzanotte del 1° gennaio 1601 a Greenwich, Inghilterra. Esistono diverse funzioni che un'applicazione può usare per convertire tali valori in forme più generalmente utili.

La modalità kernel di elaborazione e i tempi di modalità utente sono quantità di tempo. Ad esempio, se un processo ha trascorso un secondo in modalità kernel, questa funzione riempirà la struttura FILETIME specificata da lpKernelTime con un valore a 64 bit di dieci milioni. Questo è il numero di 100-nanosecondi unità in un secondo.

Per recuperare il numero di cicli di clock della CPU usati dai thread del processo, usare la funzione QueryProcessCycleTime .

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (includere Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

Funzioni di processi e thread

Processi