Функция 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 , получающую время выполнения процесса в пользовательском режиме. Время, когда каждый поток процесса выполняется в пользовательском режиме, а затем все эти времена суммируются для получения этого значения. Обратите внимание, что это значение может превышать объем затраченного в режиме реального времени (между lpCreationTime и lpExitTime), если процесс выполняется в нескольких ядрах ЦП.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Все времена выражаются с помощью структур данных FILETIME . Такая структура содержит два 32-разрядных значения, которые объединяются для формирования 64-разрядного числа 100 наносекунд единиц времени.

Время создания и выхода процесса — это точки во времени, выраженное как время, прошедшее с полуночи 1 января 1601 года в Гринвиче, Англия. Существует несколько функций, которые приложение может использовать для преобразования таких значений в более полезные формы.

Время в режиме ядра обработки и пользовательском режиме — это количество времени. Например, если процесс провел одну секунду в режиме ядра, эта функция заполнит структуру FILETIME , указанную lpKernelTime , 64-разрядной стоимостью в десять миллионов. Это число 100 наносекунд единиц за одну секунду.

Чтобы получить количество циклов часов ЦП, используемых потоками процесса, используйте функцию QueryProcessCycleTime .

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header processthreadsapi.h (включая Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

Функции процессов и потоков

Процессы