Поделиться через


Функция 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

См. также

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

OpenThread

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

Потоки