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
可以包含 CounterIndex、 Range、 OverflowHandler 或 EventBufferConfiguration 值的联合。
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 结构用作数组的标头。 客户端可以分配和释放数组描述为单个单元的计数器资源集。 为此,驱动程序调用 HalAllocateHardwareCounters 和 HalFreeHardwareCounters
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 及更高版本的 Windows 中受支持。 |
标头 | ntddk.h (包括 Ntddk.h、Ntifs.h) |