enableThreadProfiling 函数 (winbase.h)

在指定线程上启用线程分析。

语法

DWORD EnableThreadProfiling(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   Flags,
  [in]  DWORD64 HardwareCounters,
  [out] HANDLE  *PerformanceDataHandle
);

参数

[in] ThreadHandle

要启用分析的线程的句柄。 这必须是当前线程。

[in] Flags

若要接收线程分析数据(如上下文切换计数),请将此参数设置为 THREAD_PROFILING_FLAG_DISPATCH;否则,设置为 0。

[in] HardwareCounters

若要接收硬件性能计数器数据,请将此参数设置为标识要收集的硬件计数器的位掩码。 最多可以指定 16 个性能计数器。 每个位都与配置的硬件性能计数器的从零开始的硬件计数器索引直接相关。 如果未收集硬件计数器数据,则设置为零。 如果为尚未配置的硬件计数器设置位,则为该计数器读取的计数器值为零。

[out] PerformanceDataHandle

调用 ReadThreadProfilingDataDisableThreadProfiling 函数时使用的不透明句柄。

返回值

如果调用成功,则返回ERROR_SUCCESS;否则,系统错误代码 (请参阅 Winerror.h) 。

注解

在退出线程之前,必须调用 DisableThreadProfiling 函数。

若要分析硬件性能计数器,需要一个驱动程序来配置计数器。 性能计数器是针对系统全局配置的,因此每个线程都可以访问相同的硬件计数器数据。 在启用分析之前,必须配置计数器。 有关配置硬件性能计数器的信息,请参阅 Windows 驱动程序工具包 (WDK) 中的 KeSetHardwareCounterConfiguration 函数。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

DisableThreadProfiling

QueryThreadProfiling

ReadThreadProfilingData