Функция GetProcessTimes получает информацию о распределении интервалов времени для заданного процесса.
BOOL GetProcessTimes(
); |
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 | Нет | |
Замечания по платформе | Не имеется |