queryThreadCycleTime 函数 (realtimeapiset.h)
检索指定线程的周期时间。
语法
BOOL QueryThreadCycleTime(
[in] HANDLE ThreadHandle,
[out] PULONG64 CycleTime
);
参数
[in] ThreadHandle
线程的句柄。 句柄必须具有PROCESS_QUERY_INFORMATION或PROCESS_QUERY_LIMITED_INFORMATION访问权限。 有关详细信息,请参阅 进程安全和访问权限。
[out] CycleTime
线程使用的 CPU 时钟周期数。 此值包括在用户模式和内核模式下花费的周期数。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
若要枚举进程的线程,请使用 Thread32First 和 Thread32Next 函数。 若要获取线程标识符的线程句柄,请使用 OpenThread 函数。
不要尝试将 QueryThreadCycleTime 返回的 CPU 时钟周期转换为已用时间。 此函数使用 CPU 提供的计时器服务,这些服务在实现上可能会有所不同。 例如,在更改 CPU 运行频率时,某些 CPU 会改变计时器的频率,而其他 CPU 将保持固定速率。 CPU 供应商提供的文档中介绍了每个 CPU 的行为。
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为 0x0600 或更高版本。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | realtimeapiset.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib |
DLL | Kernel32.dll |