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


Функция QueryThreadCycleTime (realtimeapiset.h)

Извлекает время цикла для указанного потока.

Синтаксис

BOOL QueryThreadCycleTime(
  [in]  HANDLE   ThreadHandle,
  [out] PULONG64 CycleTime
);

Параметры

[in] ThreadHandle

Дескриптор потока. Дескриптор должен иметь право доступа PROCESS_QUERY_INFORMATION или PROCESS_QUERY_LIMITED_INFORMATION. Дополнительные сведения см. в разделе Обработка прав на безопасность и доступ.

[out] CycleTime

Количество циклов ЦП, используемых потоком. Это значение включает циклы, затраченные как в пользовательском режиме, так и в режиме ядра.

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

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

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

Комментарии

Чтобы перечислить потоки процесса, используйте функции Thread32First и Thread32Next . Чтобы получить дескриптор потока для идентификатора потока, используйте функцию OpenThread .

Не пытайтесь преобразовать циклы ЦП, возвращаемые QueryThreadCycleTime , в затраченное время. Эта функция использует службы таймера, предоставляемые ЦП, которые могут отличаться по реализации. Например, некоторые ЦП будут изменять частоту таймера при изменении частоты запуска ЦП, а другие — с фиксированной скоростью. Поведение каждого ЦП описано в документации, предоставленной поставщиком ЦП.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или более поздней версии.

Требования

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

См. также

QueryIdleProcessorCycleTime

QueryProcessCycleTime