PERF_COUNTERSET_INFO-Struktur (perflib.h)

Definiert Informationen zu einem Leistungsindikatorsatz, den ein Anbieter verwendet. Das CTRPP-Tool generiert diese Struktur automatisch basierend auf dem von Ihnen angegebenen Schema.

Syntax

typedef struct _PERF_COUNTERSET_INFO {
  GUID  CounterSetGuid;
  GUID  ProviderGuid;
  ULONG NumCounters;
  ULONG InstanceType;
} PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;

Members

CounterSetGuid

GUID, die den Zählersatz eindeutig identifiziert. Das guid-Attribut des counterSet-Elements enthält die GUID.

ProviderGuid

GUID, die den Anbieter eindeutig identifiziert, der den Zählersatz unterstützt. Das providerGuid-Attribut des provider-Elements enthält die GUID.

NumCounters

Anzahl der Indikatoren im Zählersatz. Siehe Hinweise.

InstanceType

Gibt an, ob der Indikatorensatz mehrere Instanzen, z. B. Prozesse und physische Datenträger, oder nur eine Instanz, z. B. Speicher, zulässt.

Im Folgenden sind die möglichen instance Typen aufgeführt.

Wert Bedeutung
PERF_COUNTERSET_SINGLE_INSTANCE
Der Indikatorensatz enthält Indikatoren mit einer einzigen Instanz, z. B. einen Indikator, der den physischen Speicher misst.
PERF_COUNTERSET_MULTI_INSTANCES
Der Indikatorensatz enthält Indikatoren mit mehreren Instanzen, z. B. einen Indikator, der die durchschnittliche Datenträger-E/A für einen Prozess misst.
PERF_COUNTERSET_SINGLE_AGGREGATE
Der Indikatorensatz enthält Indikatoren mit einer einzigen Instanz, deren Aggregatwert aus einer oder mehreren Quellen ermittelt wird. Beispielsweise kann ein Indikator dieses Typs von Indikatorensatz die Anzahl der Lesevorgänge von jeder der drei Festplatten des Computers abrufen und ihre Werte addieren.
PERF_COUNTERSET_MULTI_AGGREGATE
Der Indikatorensatz enthält Indikatoren mit mehreren Instanzen, deren Aggregatwert aus allen Instanzen des Indikators ermittelt wird. Beispielsweise kann ein Zähler in diesem Typ von Zählersatz die Gesamtdauer der Threadausführung für alle Threads in einer Multithreadanwendung abrufen und deren Werte summieren.
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
Der Unterschied zwischen diesem Typ und PERF_COUNTERSET_SINGLE_AGGREGATE besteht darin, dass dieser Indikatorsatztyp alle Zählerwerte für die Lebensdauer der Consumeranwendung speichert (der Zählerwert wird über die Lebensdauer des Indikators hinaus zwischengespeichert). Wenn beispielsweise eine der Festplatten im obigen Aggregatbeispiel nicht mehr verfügbar wäre, wären die von diesem Datenträger gelesenen Gesamtbytes weiterhin verfügbar und werden zum Berechnen des Aggregatwerts verwendet.
PERF_COUNTERSET_INSTANCE_AGGREGATE
Dieser Typ ähnelt PERF_COUNTERSET_MULTI_AGGREGATE, mit dem Unterschied, dass er nicht alle instance Daten in einem aggregierten (_Total) instance aggregiert, sondern Indikatorendaten aus Instanzen desselben Namens aggregiert.

Wenn beispielsweise mehrere Anbieterprozesse Instanzen mit dem Namen IExplore enthalten, zeigt PERF_COUNTERSET_MULTIPLE und PERF_COUNTERSET_MULTI_AGGREGATE CounterSet mehrere IExplore-Instanzen an (IExplore, IExplore#1, IExplore#2 usw.); Ein PERF_COUNTERSET_INSTANCE_AGGREGATE instance Typ veröffentlicht jedoch nur eine IExplore-instance mit aggregierten Zählerdaten aus allen Instanzen namens IExplore.

Windows Vista: Dieser Typ ist nicht verfügbar.

Hinweise

Der Speicherblock für diese Struktur enthält auch eine oder mehrere PERF_COUNTER_INFO Strukturen. Das NumCounter-Element bestimmt die Anzahl der PERF_COUNTER_INFO Strukturen, die dieser Struktur im Arbeitsspeicher folgen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile perflib.h

Weitere Informationen

PERF_COUNTER_INFO

PerfSetCounterSetInfo