Freigeben über


PERFORMANCE_DATA-Struktur (winnt.h)

Enthält die von Ihnen angeforderten Threadprofilerstellungs- und Hardwareindikatordaten.

Syntax

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;

Member

Size

Die Größe dieser Struktur.

Version

Die Version dieser Struktur. Muss auf PERFORMANCE_DATA_VERSION festgelegt werden.

HwCountersCount

Die Anzahl der Arrayelemente im HwCounters-Array , die Hardwarezählerdaten enthalten. Der Wert 3 bedeutet, dass das Array Daten für drei Hardwareindikatoren enthält, nicht, dass die Elemente 0 bis 2 Zählerdaten enthalten.

ContextSwitchCount

Die Anzahl der Kontextwechsel, die seit der Aktivierung der Profilerstellung aufgetreten sind.

WaitReasonBitMap

Eine Bitmaske, die die Gründe für die Kontextwechsel identifiziert, die seit dem letzten Lesen der Daten aufgetreten sind. Mögliche Werte finden Sie in der KWAIT_REASON-Enumeration (die Enumeration ist in der Datei Wdm.h im WDK enthalten).

CycleTime

Die Zykluszeit des Threads (ohne die unterbrochene Zeit) ab dem Zeitpunkt, zu dem die Profilerstellung aktiviert wurde.

RetryCount

Gibt an, wie oft der Lesevorgang die Daten liest, um eine konsistente Momentaufnahme der Daten sicherzustellen.

Reserved

Reserviert. Auf NULL festlegen.

HwCounters[MAX_HW_COUNTERS]

Ein Array von HARDWARE_COUNTER_DATA Strukturen, die die Zählerwerte enthalten. Die Elemente des Arrays, die Zählerdaten enthalten, beziehen sich direkt auf die Bits, die sie in der HardwareCounters-Bitmaske festgelegt haben, die Sie beim Aufrufen der EnableThreadProfiling-Funktion angegeben haben. Wenn Sie beispielsweise Bit 3 in der HardwareCounters-Bitmaske festlegen, enthält HwCounters[3] die Zählerdaten für diesen Leistungsindikator.

Hinweise

Sie müssen die Elemente Size und Version initialisieren, bevor Sie die ReadThreadProfilingData-Funktion aufrufen, um die Profilerstellungsdaten zu lesen.

Die in dieser Struktur enthaltenen Profildaten hängen von den Daten ab, die Sie beim Aufrufen der ReadThreadProfilingData-Funktion angefordert haben. Die folgenden Member werden festgelegt, wenn Sie das flag READ_THREAD_PROFILING_FLAG_DISPATCHING angeben:

  • ContextSwitchCount
  • Zykluszeit
  • RetryCount
  • WaitReasonBitMap
Die folgenden Member werden festgelegt, wenn Sie das flag READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS angeben:
  • HwCounters
  • HwCountersCount

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

ReadThreadProfilingData