winnt.h) (PERFORMANCE_DATA结构

包含请求的线程分析和硬件计数器数据。

语法

typedef struct _PERFORMANCE_DATA {
  WORD                  Size;
  BYTE                  Version;
  BYTE                  HwCountersCount;
  DWORD                 ContextSwitchCount;
  DWORD64               WaitReasonBitMap;
  DWORD64               CycleTime;
  DWORD                 RetryCount;
  DWORD                 Reserved;
  HARDWARE_COUNTER_DATA HwCounters[MAX_HW_COUNTERS];
} PERFORMANCE_DATA, *PPERFORMANCE_DATA;

成员

Size

此结构的大小。

Version

此结构的版本。 必须设置为 PERFORMANCE_DATA_VERSION。

HwCountersCount

HwCounters 数组中包含硬件计数器数据的数组元素数。 值为 3 表示数组包含三个硬件计数器的数据,而不是元素 0 到 2 包含计数器数据。

ContextSwitchCount

启用分析后发生的上下文切换数。

WaitReasonBitMap

一个位掩码,用于标识自上次读取数据以来发生的上下文切换的原因。 有关可能的值,请参阅 KWAIT_REASON 枚举 (枚举包含在 WDK) 的 Wdm.h 文件中。

CycleTime

线程 (的周期时间不包括启用分析) 中断所用的时间。

RetryCount

读取操作读取数据的次数,以确保数据快照一致。

Reserved

保留。 设置为零。

HwCounters[MAX_HW_COUNTERS]

包含计数器值的 HARDWARE_COUNTER_DATA 结构的数组。 包含计数器数据的数组的元素与调用 EnableThreadProfiling 函数时指定的 HardwareCounters 位掩码中设置的位直接相关。 例如,如果在 HardwareCounters 位掩码中设置位 3,HwCounters[3] 将包含该计数器的计数器数据。

注解

在调用 ReadThreadProfilingData 函数以读取分析数据之前,必须初始化 SizeVersion 成员。

此结构中包含的配置文件数据取决于调用 ReadThreadProfilingData 函数时请求的数据。 指定READ_THREAD_PROFILING_FLAG_DISPATCHING标志时,将设置以下成员:

  • ContextSwitchCount
  • CycleTime
  • RetryCount
  • WaitReasonBitMap
指定READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS标志时,将设置以下成员:
  • HwCounters
  • HwCountersCount

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 winnt.h (包括 Windows.h)

另请参阅

ReadThreadProfilingData