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