PERF_COUNTERSET_INFO 構造体 (perflib.h)

プロバイダーが使用するカウンター セットに関する情報を定義します。 CTRPP ツールは、指定したスキーマに基づいてこの構造を自動的に生成します。

構文

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

メンバー

CounterSetGuid

カウンター セットを一意に識別する GUID。 counterSet 要素の guid 属性には GUID が含まれています。

ProviderGuid

カウンター セットをサポートするプロバイダーを一意に識別する GUID。 provider 要素の providerGuid 属性には GUID が含まれています。

NumCounters

カウンター セット内のカウンターの数。 「解説」を参照してください。

InstanceType

カウンター セットで、プロセスや物理ディスクのような複数インスタンスを許可するか、メモリのような単一インスタンスに制限するかを指定します。

使用できるインスタンスの種類を次に示します。

説明
PERF_COUNTERSET_SINGLE_INSTANCE
カウンター セットは、単一インスタンスのカウンター (物理メモリを測定するカウンターなど) を含みます。
PERF_COUNTERSET_MULTI_INSTANCES
カウンター セットは、複数インスタンスのカウンター (プロセスに対するディスク I/O の平均を測定するカウンターなど) を含みます。
PERF_COUNTERSET_SINGLE_AGGREGATE
カウンター セットは、1 つ以上のソースから集計値が取得される単一インスタンスのカウンターを含みます。 たとえば、この種類のカウンター セットのカウンターでは、コンピューターの 3 つのハード ディスクのそれぞれから読み取り回数を取得し、それらの値を合計できます。
PERF_COUNTERSET_MULTI_AGGREGATE
カウンター セットは、カウンターのすべてのインスタンスから集計値が取得される複数インスタンスのカウンターを含みます。 たとえば、この種類のカウンター セット内のカウンターは、マルチスレッド アプリケーション内のすべてのスレッドの合計スレッド実行時間を取得し、その値を合計する場合があります。
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
この型と PERF_COUNTERSET_SINGLE_AGGREGATE の違いは、このカウンター セット型はコンシューマー アプリケーションの有効期間中のすべてのカウンター値を格納することです (カウンター値はカウンターの有効期間を超えてキャッシュされます)。 たとえば、上記の 1 つの集計例のハード ディスクのいずれかが使用できなくなった場合でも、そのディスクによって読み取られた合計バイト数は引き続き使用でき、集計値の計算に使用されます。
PERF_COUNTERSET_INSTANCE_AGGREGATE
この型はPERF_COUNTERSET_MULTI_AGGREGATEに似ていますが、すべてのインスタンス データを 1 つの集計 (_Total) インスタンスに集計する代わりに、同じ名前のインスタンスからカウンター データを集計する点が異なります。

たとえば、複数のプロバイダー プロセスに IExplore という名前のインスタンスが含まれている場合、PERF_COUNTERSET_MULTIPLE および PERF_COUNTERSET_MULTI_AGGREGATE CounterSet には複数の IExplore インスタンス (IExplore、IExplore#1、IExplore#2 など) が表示されます。ただし、PERF_COUNTERSET_INSTANCE_AGGREGATEインスタンスの種類では、IExplore という名前のすべてのインスタンスから集計されたカウンター データを持つ 1 つの IExplore インスタンスのみが発行されます。

Windows Vista: この種類は使用できません。

解説

この構造体のメモリ ブロックには、1 つ以上の PERF_COUNTER_INFO 構造体も含まれています。 NumCounter メンバーは、メモリ内のこの構造体に続くPERF_COUNTER_INFO構造体の数を決定します。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header perflib.h

関連項目

PERF_COUNTER_INFO

PerfSetCounterSetInfo