struttura PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR (ntddk.h)
La struttura PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR descrive le risorse del contatore disponibili nella piattaforma.
Sintassi
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;
Membri
Type
Indica il tipo di risorsa contatore descritta dalla struttura. Impostare questo parametro su una delle costanti di enumerazione PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE seguenti:
- ResourceTypeSingle
- ResourceTypeRange
- ResourceTypeOverflow
- ResourceTypeEventBuffer
Flags
Nessun flag è attualmente definito. Impostare questo membro su zero.
u
Unione che può contenere un CounterIndex, Range, OverflowHandlero valore eventBufferConfiguration.
u.CounterIndex
Indice del contatore fisico.
u.Range
Intervallo di indici dei contatori.
u.Range.Begin
Indice del contatore iniziale di un blocco di contatori contigui.
u.Range.End
Indice del contatore finale di un blocco di contatori contigui.
u.OverflowHandler
Puntatore alla routine PPHYSICAL_COUNTER_OVERFLOW_HANDLER fornita dal driver che verrà chiamata quando un contatore hardware associato (specificato da un altro PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR) supera gli overflow.
u.EventBufferConfiguration
Configurazione per il campionamento basato su buffer eventi, ad esempio PEBS di Intel. I campi di configurazione sono definiti dal tipo di PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION.
u.IdentificationTag
Osservazioni
La maggior parte dei processori dispone di unità di monitoraggio delle prestazioni che contengono diversi contatori hardware per misurare vari aspetti delle prestazioni del sistema. La struttura PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR descrive una risorsa contatore, che può essere un singolo contatore hardware, un blocco di contatori contigui, un interrupt di overflow del contatore o una configurazione del buffer eventi. Il membro Type di questa struttura indica il tipo di risorsa contatore descritto dalla struttura.
Per specificare un set di risorse del contatore, un client in modalità kernel può fornire una matrice di strutture PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR. Una struttura PHYSICAL_COUNTER_RESOURCE_LIST funge da intestazione per la matrice. Il client può allocare e liberare il set di risorse contatore descritte dalla matrice come singola unità. A tale scopo, il driver chiama HalAllocateHardwareCounters e HalFreeHardwareCounters
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in Windows 7 e versioni successive di Windows. |
intestazione | ntddk.h (include Ntddk.h, Ntifs.h) |