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