PERF_COUNTER_DEFINITION構造体 (winperf.h)

パフォーマンス カウンターについて説明します。

構文

typedef struct _PERF_COUNTER_DEFINITION {
  DWORD  ByteLength;
  DWORD  CounterNameTitleIndex;
#if ...
  DWORD  CounterNameTitle;
#else
  LPWSTR CounterNameTitle;
#endif
  DWORD  CounterHelpTitleIndex;
#if ...
  DWORD  CounterHelpTitle;
#else
  LPWSTR CounterHelpTitle;
#endif
  LONG   DefaultScale;
  DWORD  DetailLevel;
  DWORD  CounterType;
  DWORD  CounterSize;
  DWORD  CounterOffset;
} PERF_COUNTER_DEFINITION, *PPERF_COUNTER_DEFINITION;

メンバー

ByteLength

この構造体のサイズ (バイト単位)。

CounterNameTitleIndex

タイトル データベース内のカウンターの名前のインデックス。 インデックスを使用してカウンターの名前を取得する方法の詳細については、「 カウンター名の取得」および「ヘルプ テキスト」を参照してください。

この値を設定するために、プロバイダーはシンボル ファイルで定義されているカウンターのオフセット値を First Counter レジストリ値に追加します。 詳細については、「レジストリへのカウンター名と説明の追加」および「OpenPerformanceData 関数の実装」を参照してください。

カウンターがベース カウンターの場合、この値は 0 にする必要があります (CounterType には、PERF_COUNTER_BASE フラグが含まれています)。

CounterNameTitle

予約済み。

CounterHelpTitleIndex

タイトル データベース内のカウンターのヘルプ テキストにインデックスを付けます。 インデックスを使用してカウンターのヘルプ テキストを取得する方法の詳細については、「 カウンター名とヘルプ テキストの取得」を参照してください。

この値を設定するために、プロバイダーはシンボル ファイルで定義されているカウンターのオフセット値を First Help レジストリ値に追加します。 詳細については、「レジストリへのカウンター名と説明の追加」および「OpenPerformanceData 関数の実装」を参照してください。

カウンターがベース カウンターの場合、この値は 0 にする必要があります (CounterType には、PERF_COUNTER_BASE フラグが含まれています)。

CounterHelpTitle

予約済み。

DefaultScale

カウンター値をグラフ化するときに使用するスケール ファクター。 有効な値の範囲は -7 から 7 です (値は 0.0000001 - 10000000 に対応します)。 この値が 0 の場合、スケール値は 1 になります。この値が 1 の場合、スケール値は 10 になります。この値が –1 の場合、スケール値は .10 になります。などなど。

DetailLevel

カウンターの詳細レベル。 コンシューマーはこの値を使用して、表示の複雑さを制御します。 このメンバーには、次のいずれかの値を指定できます。

詳細レベル 説明
PERF_DETAIL_NOVICE
カウンター データは、すべてのユーザーに対して提供されます。
PERF_DETAIL_ADVANCED
カウンター データは、上級ユーザー向けに提供されます。
PERF_DETAIL_EXPERT
カウンター データは、エキスパート ユーザー向けに提供されます。
PERF_DETAIL_WIZARD
カウンター データは、システム デザイナー向けに提供されます。

CounterType

カウンターの種類。 定義済みのカウンターの種類の一覧については、 Windows Server 2003 展開キットのカウンターの種類に関するセクションを参照してください。 コンシューマーはカウンターの種類を使用して、カウンター値を計算して表示する方法を決定します。 プロバイダーは、カウンターの種類の選択を定義済みのリストに制限する必要があります。

CounterSize

カウンター サイズ (バイト単位)。

現在、カウンター値を提供するために使用されるのは DWORD (4 バイト) と ULONGLONG (8 バイト) のみです。

CounterOffset

PERF_COUNTER_BLOCK構造体の先頭からこのカウンターの最初のバイトへのオフセット。 PERF_OBJECT_TYPE ブロック内PERF_COUNTER_BLOCK構造体の場所は、オブジェクトにインスタンスが含まれているかどうかによって異なります。 詳細については、「 パフォーマンス データ形式」を参照してください。

複数のカウンターで同じ生データを使用し、 PERF_COUNTER_BLOCK ブロック内の同じオフセットをポイントできることに注意してください。

解説

PERF_OBJECT_TYPE構造体には、1 つ以上のカウンターが含まれています。 この構造体は、各カウンターを定義し、その値にオフセットを与えます。 これらの構造体は、メモリ内の PERF_OBJECT_TYPE 構造に従います。 詳細については、「 パフォーマンス データ形式」を参照してください。

プロバイダーは、カウンターのクエリを実行するたびに、カウンターを同じ順序で提供する必要があります。 カウンターが計算でベース カウンターを使用する場合 (カウンターの種類に PERF_COUNTER_FRACTION フラグが含まれている場合)、カウンターの一覧でこのカウンターに従う必要があります。 カウンターの種類に PERF_MULTI_COUNTER フラグが含まれている場合、2 番目のカウンター値は 、PERF_COUNTER_BLOCK ブロック内のこのカウンターの値に従う必要があります。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winperf.h (Windows.h を含む)

関連項目

PERF_COUNTER_BLOCK

PERF_OBJECT_TYPE