Partager via


PERFORMANCE_DATA structure (winnt.h)

Contient les données de profilage de thread et de compteur matériel que vous avez demandées.

Syntaxe

typedef struct _PERFORMANCE_DATA {
  WORD                  Size;
  BYTE                  Version;
  BYTE                  HwCountersCount;
  DWORD                 ContextSwitchCount;
  DWORD64               WaitReasonBitMap;
  DWORD64               CycleTime;
  DWORD                 RetryCount;
  DWORD                 Reserved;
  HARDWARE_COUNTER_DATA HwCounters[MAX_HW_COUNTERS];
} PERFORMANCE_DATA, *PPERFORMANCE_DATA;

Membres

Size

La taille de cette structure.

Version

Version de cette structure. Doit être défini sur PERFORMANCE_DATA_VERSION.

HwCountersCount

Nombre d’éléments de tableau dans le tableau HwCounters qui contiennent des données de compteur matériel. La valeur 3 signifie que le tableau contient des données pour trois compteurs matériels, et non que les éléments 0 à 2 contiennent des données de compteur.

ContextSwitchCount

Nombre de commutateurs de contexte qui se sont produits à partir du moment où le profilage a été activé.

WaitReasonBitMap

Masque de bits qui identifie les raisons des commutateurs de contexte qui se sont produits depuis la dernière lecture des données. Pour connaître les valeurs possibles, consultez l’énumération KWAIT_REASON (l’énumération est incluse dans le fichier Wdm.h du WDK).

CycleTime

Durée de cycle du thread (à l’exclusion du temps d’interruption) du moment où le profilage a été activé.

RetryCount

Nombre de fois où l’opération de lecture lit les données pour garantir une instantané cohérente des données.

Reserved

Réservé. Définit la valeur zéro.

HwCounters[MAX_HW_COUNTERS]

Tableau de structures HARDWARE_COUNTER_DATA qui contiennent les valeurs de compteur. Les éléments du tableau qui contiennent des données de compteur sont directement liés aux bits définis dans le masque de bits HardwareCounters que vous avez spécifié lorsque vous avez appelé la fonction EnableThreadProfiling . Par exemple, si vous définissez le bit 3 dans le masque de bits HardwareCounters , HwCounters[3] contient les données de compteur pour ce compteur.

Remarques

Vous devez initialiser les membres Size et Version avant d’appeler la fonction ReadThreadProfilingData pour lire les données de profilage.

Les données de profil contenues dans cette structure dépendent des données que vous avez demandées lorsque vous avez appelé la fonction ReadThreadProfilingData . Les membres suivants sont définis lorsque vous spécifiez l’indicateur READ_THREAD_PROFILING_FLAG_DISPATCHING :

  • ContextSwitchCount
  • CycleTime
  • RetryCount
  • WaitReasonBitMap
Les membres suivants sont définis lorsque vous spécifiez l’indicateur READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS :
  • HwCounters
  • HwCountersCount

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
En-tête winnt.h (inclure Windows.h)

Voir aussi

ReadThreadProfilingData