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 结构描述计数器资源,可以是单个硬件计数器、连续计数器块、计数器溢出中断或事件缓冲区配置。 此结构的 类型 成员指示结构描述了哪种类型的计数器资源。

若要指定一组计数器资源,内核模式客户端可以提供 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