PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR structure (ntddk.h)
La structure PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR décrit les ressources de compteur disponibles sur la plateforme.
Syntaxe
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;
Membres
Type
Indique le type de ressource de compteur décrit par la structure. Définissez ce paramètre sur l’une des constantes d’énumération PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE suivantes :
- ResourceTypeSingle
- ResourceTypeRange
- ResourceTypeOverflow
- ResourceTypeEventBuffer
Flags
Aucun indicateur n’est actuellement défini. Définissez ce membre sur zéro.
u
Union qui peut contenir une valeur CounterIndex, Range, OverflowHandler ou EventBufferConfiguration .
u.CounterIndex
Index de compteur physique.
u.Range
Plage d’index de compteur.
u.Range.Begin
Index de compteur de départ d’un bloc de compteurs contigus.
u.Range.End
Index de compteur de fin d’un bloc de compteurs contigus.
u.OverflowHandler
Pointeur vers la routine de PPHYSICAL_COUNTER_OVERFLOW_HANDLER fournie par le pilote qui sera appelée lorsqu’un compteur matériel associé (spécifié par un autre PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR) déborde.
u.EventBufferConfiguration
Configuration pour l’échantillonnage basé sur la mémoire tampon d’événements (par exemple, PEBS d’Intel). Les champs de configuration sont définis par le type PHYSICAL_COUNTER_EVENT_BUFFER_CONFIGURATION .
u.IdentificationTag
Remarques
La plupart des processeurs ont des unités d’analyse de performances qui contiennent un certain nombre de compteurs matériels pour mesurer différents aspects des performances du système. La structure PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR décrit une ressource de compteur, qui peut être un compteur matériel unique, un bloc de compteurs contigus, une interruption de dépassement de compteur ou une configuration de mémoire tampon d’événements. Le membre Type de cette structure indique le type de ressource de compteur décrit par la structure.
Pour spécifier un ensemble de ressources de compteur, un client en mode noyau peut fournir un tableau de structures PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR . Une structure PHYSICAL_COUNTER_RESOURCE_LIST sert d’en-tête pour le tableau. Le client peut allouer et libérer l’ensemble de ressources de compteur décrit par le tableau sous la forme d’une seule unité. Pour ce faire, le pilote appelle HalAllocateHardwareCounters et HalFreeHardwareCounters
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans Windows 7 et versions ultérieures de Windows. |
En-tête | ntddk.h (inclure Ntddk.h, Ntifs.h) |