PERF_OBJECT_TYPE 構造体 (winperf.h)

オブジェクト固有のパフォーマンス情報 (オブジェクトのインスタンス数、オブジェクトが定義するカウンターの数など) について説明します。

構文

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

メンバー

TotalByteLength

オブジェクト固有のデータのサイズ (バイト単位)。 このメンバーは、この構造体の先頭から次の PERF_OBJECT_TYPE 構造体 (存在する場合) までのオフセットです。

DefinitionLength

この構造体のサイズとすべての
PERF_COUNTER_DEFINITION 構造体。

オブジェクトが複数インスタンス オブジェクトの場合 ( NumInstances メンバーが 0 ではない場合)、このメンバーは、この構造体の先頭から最初の PERF_INSTANCE_DEFINITION 構造体までのオフセットです。 それ以外の場合、この値は PERF_COUNTER_BLOCKへのオフセットです。

HeaderLength

この構造体のサイズ (バイト単位)。 このメンバーは、この構造体の先頭から最初の PERF_COUNTER_DEFINITION 構造体までのオフセットです。

ObjectNameTitleIndex

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

プロバイダーは、初期化ファイルでインデックス値を指定します。 詳細については、「 レジストリへのカウンター名と説明の追加」を参照してください。

ObjectNameTitle

予約済み。

ObjectHelpTitleIndex

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

プロバイダーは、初期化ファイルでインデックス値を指定します。 詳細については、「 レジストリへのカウンター名と説明の追加」を参照してください。

ObjectHelpTitle

予約済み。

DetailLevel

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

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

NumCounters

オブジェクトによって返される PERF_COUNTER_DEFINITION ブロックの数。

DefaultCounter

パフォーマンス ツールでこのオブジェクトを選択したときに情報が表示される既定のカウンターのタイトル データベース内のカウンターの名前にインデックスを付けます。 このメンバーは、既定値がないことを示す –1 である可能性があります。

NumInstances

カウンターが指定されているオブジェクト インスタンスの数。 オブジェクトに 0 個以上のインスタンスを含めることができるが、現在は存在しない場合、この値は 0 である必要があります。 オブジェクトに複数のインスタンスを含めることができない場合は、この値をPERF_NO_INSTANCESする必要があります。

CodePage

インスタンス文字列が Unicode 文字列の場合、このメンバーは 0 です。 それ以外の場合、このメンバーはインスタンス名のコード ページ識別子です。 MultiByteToWideChar を呼び出すときにコード ページ値を使用して、文字列を Unicode に変換できます。

PerfTime

コンシューマーがカウンター値を計算するときに使用するプロバイダーによって生成されたタイムスタンプ。 たとえば、高解像度パフォーマンス カウンターの現在の値をカウント単位で指定できます。

プロバイダーは、カウンターのカウンターの種類に PERF_OBJECT_TIMER フラグが含まれている場合、この値を指定する必要があります。 それ以外の場合、コンシューマーは PERF_DATA_BLOCK の PerfTime使用します。

PerfFreq

コンシューマーがカウンター値を計算するときに使用するプロバイダー生成頻度値。 たとえば、高解像度パフォーマンス カウンターの現在の頻度 (1 秒あたりのカウント数) を指定できます。

プロバイダーは、カウンターのカウンターの種類に PERF_OBJECT_TIMER フラグが含まれている場合、この値を指定する必要があります。 それ以外の場合、コンシューマーは PERF_DATA_BLOCK の PerfFreq使用します。

注釈

プロバイダーは、この構造を使用して、サポートするオブジェクトのパフォーマンス データを提供します。 コンシューマーはこの構造を使用して、クエリを実行したオブジェクトのパフォーマンス データを使用します。

この構造体の後には、パフォーマンス オブジェクトに対 して定義されている カウンターごとに 1 つずつ、PERF_COUNTER_DEFINITION構造体の一覧が続きます。 パフォーマンス データ ブロックのレイアウトの詳細については、「 パフォーマンス データ形式」を参照してください。

要件

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

こちらもご覧ください

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

パフォーマンス データ形式