Função GetProcessTimes (processthreadsapi.h)
Recupera informações de tempo para o processo especificado.
Sintaxe
BOOL GetProcessTimes(
[in] HANDLE hProcess,
[out] LPFILETIME lpCreationTime,
[out] LPFILETIME lpExitTime,
[out] LPFILETIME lpKernelTime,
[out] LPFILETIME lpUserTime
);
Parâmetros
[in] hProcess
Um identificador para o processo cujas informações de tempo são procuradas. O identificador deve ter o direito de acesso PROCESS_QUERY_INFORMATION ou PROCESS_QUERY_LIMITED_INFORMATION . Para obter mais informações, consulte Direitos de acesso e segurança do processo.
Windows Server 2003 e Windows XP: O identificador deve ter o direito de acesso PROCESS_QUERY_INFORMATION .
[out] lpCreationTime
Um ponteiro para uma estrutura FILETIME que recebe a hora de criação do processo.
[out] lpExitTime
Um ponteiro para uma estrutura FILETIME que recebe a hora de saída do processo. Se o processo não tiver sido encerrado, o conteúdo dessa estrutura será indefinido.
[out] lpKernelTime
Um ponteiro para uma estrutura FILETIME que recebe a quantidade de tempo que o processo executou no modo kernel. A hora em que cada um dos threads do processo foi executado no modo kernel é determinado e, em seguida, todos esses tempos são somados para obter esse valor.
[out] lpUserTime
Um ponteiro para uma estrutura FILETIME que recebe a quantidade de tempo que o processo executou no modo de usuário. O tempo em que cada um dos threads do processo é executado no modo de usuário é determinado e, em seguida, todas essas horas são somadas para obter esse valor. Observe que esse valor pode exceder a quantidade de tempo real decorrido (entre lpCreationTime e lpExitTime) se o processo for executado em vários núcleos de CPU.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Todas as vezes são expressas usando estruturas de dados FILETIME . Essa estrutura contém dois valores de 32 bits que se combinam para formar uma contagem de 64 bits de unidades de tempo de 100 nanossegundos.
Os tempos de criação e saída do processo são pontos no tempo expressos como a quantidade de tempo decorrido desde a meia-noite de 1º de janeiro de 1601 em Greenwich, Inglaterra. Há várias funções que um aplicativo pode usar para converter esses valores em formulários geralmente úteis.
O modo kernel de processo e os tempos de modo de usuário são quantidades de tempo. Por exemplo, se um processo tiver gasto um segundo no modo kernel, essa função preencherá a estrutura FILETIME especificada por lpKernelTime com um valor de 64 bits de dez milhões. Esse é o número de unidades de 100 nanossegundos em um segundo.
Para recuperar o número de ciclos de relógio de CPU usados pelos threads do processo, use a função QueryProcessCycleTime .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | processthreadsapi.h (inclua Windows.h no Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |