PERF_COUNTER_IDENTIFIER構造体 (perflib.h)

構造体を含む PERF_COUNTER_IDENTIFIER ブロックに関する情報を格納します。 PERF_COUNTER_IDENTIFIER ブロックは、パフォーマンス カウンターの仕様に関する情報を提供し、次の項目で構成されます。

  1. PERF_COUNTER_IDENTIFIER構造体
  2. インスタンス名を指定する null で終わる UTF-16LE 文字列 (省略可能)
  3. ブロックのサイズを 8 バイトの倍数にするために必要に応じてパディングします。

構文

typedef struct _PERF_COUNTER_IDENTIFIER {
  GUID  CounterSetGuid;
  ULONG Status;
  ULONG Size;
  ULONG CounterId;
  ULONG InstanceId;
  ULONG Index;
  ULONG Reserved;
} PERF_COUNTER_IDENTIFIER, *PPERF_COUNTER_IDENTIFIER;

メンバー

CounterSetGuid

パフォーマンス カウンター セットの GUID

Status

パフォーマンス カウンターを追加または削除する操作が成功したか失敗したかを示すエラー コード。

Size

PERF_COUNTER_IDENTIFIER ブロックの合計サイズ (バイト単位)。 ブロックの合計サイズは、 PERF_COUNTER_IDENTIFIER 構造体のサイズ、インスタンス名を指定する文字列、およびパディングの合計です。

CounterId

パフォーマンス カウンターの識別子。 PERF_WILDCARD_COUNTER は、すべてのカウンターを指定します。

InstanceId

インスタンス識別子。 インスタンス識別子に基づいて結果をフィルター処理しない場合は、0xFFFFFFFFを指定します。

Index

この PERF_COUNTER_IDENTIFIER ブロックに対応するカウンター データが返される PERF_COUNTER_IDENTIFIER ブロックのシーケンス内の位置。 PerfQueryCounterInfo によって設定されます。

Reserved

予約済み。

注釈

単一インスタンス カウンター セットのカウンター セット識別子を指定する場合は、 PERF_COUNTER_IDENTIFIER ブロックの追加データにインスタンス名を指定しないでください。 PERF_COUNTER_IDENTIFIER ブロックのサイズは、PERF_COUNTER_IDENTIFIER構造体のサイズである必要があります。

一方、複数インスタンス カウンター セットのカウンター セット識別子を指定する場合は、 PERF_COUNTER_IDENTIFIER ブロックの追加データでインスタンス名を指定する必要があります。 id は、PERF_COUNTER_IDENTIFIER ブロックのサイズがPERF_COUNTER_IDENTIFIER構造体のサイズより大きい場合を除き、有効ではありません。 インスタンス名に基づいてカウンター セットをフィルター処理しない場合は、インスタンス名として PERF_WILDCARD_INSTANCE を使用します。

PerfAddCounters 関数と PerfDeleteCounters 関数は、クエリに対して追加または削除するカウンターの仕様を定義するために、PERF_COUNTER_IDENTIFIER ブロックのシーケンスを受け入れます。

PerfQueryCounterInfo 関数はクエリ内のカウンター仕様を示し、クエリが結果を取得する順序を Index メンバーに示すために、PERF_COUNTER_IDENTIFIER ブロックのシーケンスを取得します。

要件

要件
サポートされている最小のクライアント Windows 10、バージョン 1607 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
Header perflib.h

こちらもご覧ください

PerfAddCounters

PerfDeleteCounters

PerfQueryCounterInfo