PERFORMANCE_DATA構造体 (winnt.h)

要求したスレッド プロファイルとハードウェア カウンター データが含まれます。

構文

typedef struct _PERFORMANCE_DATA {
  WORD                  Size;
  BYTE                  Version;
  BYTE                  HwCountersCount;
  DWORD                 ContextSwitchCount;
  DWORD64               WaitReasonBitMap;
  DWORD64               CycleTime;
  DWORD                 RetryCount;
  DWORD                 Reserved;
  HARDWARE_COUNTER_DATA HwCounters[MAX_HW_COUNTERS];
} PERFORMANCE_DATA, *PPERFORMANCE_DATA;

メンバー

Size

この構造のサイズ。

Version

この構造体のバージョン。 PERFORMANCE_DATA_VERSIONに設定する必要があります。

HwCountersCount

ハードウェア カウンター データを含む HwCounters 配列内の配列要素の数。 値 3 は、配列に 3 つのハードウェア カウンターのデータが含まれていることを意味します。要素 0 から 2 にはカウンター データが含まれていないことを意味します。

ContextSwitchCount

タイム プロファイリングが有効になった時点から発生したコンテキスト スイッチの数。

WaitReasonBitMap

データが最後に読み取られた後に発生したコンテキスト切り替えの理由を識別するビットマスク。 使用可能な値については、 KWAIT_REASON 列挙を参照してください (列挙体は WDK の Wdm.h ファイルに含まれています)。

CycleTime

スレッドのサイクル時間 (中断に費やされた時間を除く) は、プロファイリングが有効な時間から除外されます。

RetryCount

読み取り操作がデータを読み取り、データの一貫性のあるスナップショットを確保する回数。

Reserved

予約済み。 0 に設定します。

HwCounters[MAX_HW_COUNTERS]

カウンター値を含む HARDWARE_COUNTER_DATA 構造体の配列。 カウンター データを含む配列の要素は、EnableThreadProfiling 関数を呼び出したときに指定した HardwareCounters ビットマスクに設定されたビットに直接関連します。 たとえば、 HardwareCounters ビットマスクでビット 3 を設定した場合、HwCounters[3] にはそのカウンターのカウンター データが含まれます。

解説

プロファイル データを読み取るために ReadThreadProfilingData 関数を呼び出す前に、Size メンバーと Version メンバーを初期化する必要があります。

この構造に含まれるプロファイル データは、 ReadThreadProfilingData 関数を呼び出したときに要求したデータによって異なります。 READ_THREAD_PROFILING_FLAG_DISPATCHING フラグを指定すると、次のメンバーが設定されます。

  • ContextSwitchCount
  • CycleTime
  • RetryCount
  • WaitReasonBitMap
READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS フラグを指定すると、次のメンバーが設定されます。
  • HwCounters
  • HwCountersCount

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
Header winnt.h (Windows.h を含む)

関連項目

ReadThreadProfilingData