Функция GetProcessTimes


Функция GetProcessTimes получает информацию о распределении интервалов времени для заданного процесса.

Синтаксис

BOOL GetProcessTimes(

HANDLE hProcess,         // дескриптор процесса
LPFILETIME
lpCreationTime, // время создания процесса
LPFILETIME
lpExitTime,   // время выхода из работы процесса
LPFILETIME
lpKernelTime, // время, работы процесса в режиме ядра
LPFILETIME
lpUserTime    // время, работы процесса в режиме пользователя

);

Параметры

hProcess

[in] Дескриптор процесса, информация о распределении интервалов времени которого разыскивается. Этот дескриптор должен быть создан с правами доступа PROCESS_QUERY_INFORMATION. Для получения дополнительной информации, см. статью Защита процесса и права доступа.

lpCreationTime

[out] Указатель на структуру FILETIME,которая принимает время создания процесса.

lpExitTime

[out] Указатель на структуру FILETIME,которая принимает время выхода из работы процесса. Если процесс не вышел из работы, содержание этой структуры не определенное.

lpKernelTime

[out] Указатель на структуру FILETIME, которая принимает величину времени, в течение которого процесс выполнялся в привилегированном режиме (режиме ядра). Чтобы получить это значение, определяется время, в ходе которого каждый из потоков процесса выполнялся в режиме ядра, а затем все эти периоды суммируются вместе.

lpUserTime

[out] Указатель на структуру FILETIME, которая принимает величину времени, в течение которого процесс выполнялся в непривилегированном (пользовательском) режиме. Чтобы получить это значение, определяется время, в ходе которого каждый из потоков процесса выполнялся в режиме ядра, а затем все эти периоды суммируются вместе.

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

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

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

Замечания

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

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

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

Смотри также

Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, FILETIME, FileTimeToDosDateTime, FileTimeToLocalFileTime, FileTimeToSystemTime

Размещение и совместимость GetProcessTimes
К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да версии 3.5 и выше
н Windows Me Нет
т Windows 98 Нет
  Windows 95 Нет
 
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да версии 3.5 и выше
е    
р    
Используемая библиотека Kernel32.lib
Используемая DLL kernel32.dll
Заголовочный файл  
- объявлено в Winbase.h
- включено в Windows.h
Unicode Нет
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz