GetProcessTimes 함수(processthreadsapi.h)

지정된 프로세스의 타이밍 정보를 검색합니다.

구문

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

매개 변수

[in] hProcess

타이밍 정보를 찾는 프로세스에 대한 핸들입니다. 핸들에는 PROCESS_QUERY_INFORMATION 또는 PROCESS_QUERY_LIMITED_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.

Windows Server 2003 및 Windows XP: 핸들에는 PROCESS_QUERY_INFORMATION 액세스 권한이 있어야 합니다.

[out] lpCreationTime

프로세스의 생성 시간을 수신하는 FILETIME 구조체에 대한 포인터입니다.

[out] lpExitTime

프로세스의 종료 시간을 수신하는 FILETIME 구조체에 대한 포인터입니다. 프로세스가 종료되지 않으면 이 구조체의 내용이 정의되지 않습니다.

[out] lpKernelTime

프로세스가 커널 모드에서 실행된 시간을 수신하는 FILETIME 구조체에 대한 포인터입니다. 프로세스의 각 스레드가 커널 모드에서 실행된 시간이 결정된 다음 이러한 모든 시간을 합산하여 이 값을 가져옵니다.

[out] lpUserTime

프로세스가 사용자 모드에서 실행된 시간을 수신하는 FILETIME 구조체에 대한 포인터입니다. 프로세스의 각 스레드가 사용자 모드에서 실행된 시간이 결정된 다음 모든 시간을 합산하여 이 값을 가져옵니다. 프로세스가 여러 CPU 코어에서 실행되는 경우 이 값은 경과된 실시간 양( lpCreationTimelpExitTime 사이)을 초과할 수 있습니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

모든 시간은 FILETIME 데이터 구조를 사용하여 표현됩니다. 이러한 구조체에는 64비트 수의 100나노초 시간 단위를 형성하기 위해 결합되는 두 개의 32비트 값이 포함됩니다.

프로세스 생성 및 종료 시간은 1601년 1월 1일 영국 그리니치에서 자정 이후 경과된 시간으로 표현된 시간 포인트입니다. 애플리케이션에서 이러한 값을 보다 일반적으로 유용한 양식으로 변환하는 데 사용할 수 있는 몇 가지 함수가 있습니다.

프로세스 커널 모드 및 사용자 모드 시간은 시간입니다. 예를 들어 프로세스가 커널 모드에서 1초를 소비한 경우 이 함수는 lpKernelTime에 지정된 FILETIME 구조를 64비트 값 1천만으로 채웁니다. 이는 1초 안에 100나노초 단위의 수입니다.

프로세스의 스레드에서 사용하는 CPU 클록 주기 수를 검색하려면 QueryProcessCycleTime 함수를 사용합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 processthreadsapi.h(Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

프로세스 및 스레드 함수

프로세스