Функция GetThreadTimes (processthreadsapi.h)
Извлекает сведения о времени для указанного потока.
Синтаксис
BOOL GetThreadTimes(
[in] HANDLE hThread,
[out] LPFILETIME lpCreationTime,
[out] LPFILETIME lpExitTime,
[out] LPFILETIME lpKernelTime,
[out] LPFILETIME lpUserTime
);
Параметры
[in] hThread
Дескриптор потока, для которого запрашивается информация о времени. Дескриптор должен иметь право доступа к THREAD_QUERY_INFORMATION или THREAD_QUERY_LIMITED_INFORMATION . Дополнительные сведения см. в разделе Безопасность потоков и права доступа.
Windows Server 2003 и Windows XP: Дескриптор должен иметь право доступа к THREAD_QUERY_INFORMATION .
[out] lpCreationTime
Указатель на структуру FILETIME , получающую время создания потока.
[out] lpExitTime
Указатель на структуру FILETIME , получающую время выхода потока. Если поток не завершил работу, содержимое этой структуры не определено.
[out] lpKernelTime
Указатель на структуру FILETIME , получающую время выполнения потока в режиме ядра.
[out] lpUserTime
Указатель на структуру FILETIME , получающую время выполнения потока в пользовательском режиме.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Все значения выражены с помощью структур данных FILETIME . Такая структура содержит два 32-разрядных значения, которые объединяются в 64-разрядное число 100-наносекундных единиц времени.
Время создания и выхода потока — это точки во времени, выраженные как количество времени, прошедшее с полуночи 1 января 1601 года в Гринвиче, Англия. Существует несколько функций, которые приложение может использовать для преобразования таких значений в более полезные формы; См. раздел Функции времени.
Режим ядра потока и время пользовательского режима — это количество времени. Например, если поток провел одну секунду в режиме ядра, эта функция заполнит структуру FILETIME , заданную lpKernelTime , 64-разрядным значением в десять миллионов. Это число 100-наносекундных единиц за одну секунду.
Чтобы получить количество циклов ЦП, используемых потоками, используйте функцию QueryThreadCycleTime .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | 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 |