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
- HwCounters
- HwCountersCount
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | winnt.h (Windows.h を含む) |