PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR 结构 (ntddk.h)

PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR结构描述了平台上可用的计数器资源。

语法

typedef struct _PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR {
  PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE Type;
  ULONG                                     Flags;
  union {
    ULONG                                       CounterIndex;
    struct {
      ULONG Begin;
      ULONG End;
    } Range;
    PPHYSICAL_COUNTER_OVERFLOW_HANDLER          OverflowHandler;
    PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION EventBufferConfiguration;
    ULONG                                       IdentificationTag;
  } u;
} PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR, *PPHYSICAL_COUNTER_RESOURCE_DESCRIPTOR;

成员

Type

指示结构描述的计数器资源的类型。 将此参数设置为以下 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE 枚举常量之一:

  • ResourceTypeSingle
  • ResourceTypeRange
  • ResourceTypeOverflow
  • ResourceTypeEventBuffer

Flags

当前未定义任何标志。 将此成员设置为零。

u

可以包含 CounterIndexRangeOverflowHandlerEventBufferConfiguration 值的联合。

u.CounterIndex

物理计数器索引。

u.Range

计数器索引的范围。

u.Range.Begin

连续计数器块的起始计数器索引。

u.Range.End

连续计数器块的结束计数器索引。

u.OverflowHandler

指向驱动程序提供的 PPHYSICAL_COUNTER_OVERFLOW_HANDLER 例程的指针,当关联硬件计数器 (由另一个 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR 指定的) 溢出时,将调用该例程。

u.EventBufferConfiguration

基于事件缓冲区的采样 (的配置,例如 Intel 的 PEBS) 。 配置字段由 PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION 类型定义。

u.IdentificationTag

注解

大多数处理器都有性能监视单元,其中包含许多硬件计数器,用于测量系统性能的各个方面。 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR结构描述计数器资源,可以是单个硬件计数器、连续计数器块、计数器溢出中断或事件缓冲区配置。 此结构的 Type 成员指示结构描述的计数器资源类型。

若要指定一组计数器资源,内核模式客户端可以提供 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR 结构的数组。 PHYSICAL_COUNTER_RESOURCE_LIST 结构用作数组的标头。 客户端可以分配和释放数组描述为单个单元的计数器资源集。 为此,驱动程序调用 HalAllocateHardwareCountersHalFreeHardwareCounters

要求

要求
最低受支持的客户端 在 Windows 7 及更高版本的 Windows 中受支持。
标头 ntddk.h (包括 Ntddk.h、Ntifs.h)

另请参阅

PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE

PHYSICAL_COUNTER_RESOURCE_LIST