Compartilhar via


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

Confira também

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

Funções de thread e processo

Processos