структура 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
Конфигурация выборки на основе буфера событий (например, PEBS Intel). Поля конфигурации определяются типом PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION.
u.IdentificationTag
Замечания
Большинство процессоров имеют единицы монитора производительности, содержащие ряд аппаратных счетчиков для измерения различных аспектов производительности системы. Структура PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR описывает ресурс счетчика, который может быть одним аппаратным счетчиком, блоком смежных счетчиков, прерыванием переполнения счетчиков или конфигурацией буфера событий. Элемент типа этой структуры указывает, какой тип ресурса счетчика описывается структурой.
Чтобы указать набор ресурсов счетчика, клиент в режиме ядра может предоставить массив PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR структур. Структура PHYSICAL_COUNTER_RESOURCE_LIST служит заголовком для массива. Клиент может выделить и освободить набор ресурсов счетчиков, описанных массивом в виде одной единицы. Для этого драйвер вызывает HalAllocateHardwareCounters и HalFreeHardwareCounters
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в Windows 7 и более поздних версиях Windows. |
заголовка | ntddk.h (include Ntddk.h, Ntifs.h) |