структура 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 означает, что массив содержит данные для трех аппаратных счетчиков, а не элементы от 0 до 2 содержат данные счетчиков.
ContextSwitchCount
Количество переключений контекста, произошедших с момента включения профилирования.
WaitReasonBitMap
Битовая маска, определяющая причины переключения контекста, произошедшие с момента последнего считывания данных. Возможные значения см. в перечислении KWAIT_REASON (перечисление включено в файл Wdm.h в WDK).
CycleTime
Время цикла потока (за исключением времени, затраченного на прерывание) из времени включения профилирования.
RetryCount
Количество раз, когда операция чтения считывает данные, чтобы обеспечить согласованное snapshot данных.
Reserved
Зарезервировано. Задайте нулевое значение.
HwCounters[MAX_HW_COUNTERS]
Массив HARDWARE_COUNTER_DATA структур, содержащих значения счетчиков. Элементы массива, содержащие данные счетчика, напрямую связаны с битами, заданными в битовой маске HardwareCounters , указанной при вызове функции EnableThreadProfiling . Например, если задать бит 3 в битовой маске HardwareCounters , HwCounters[3] будет содержать данные счетчика для этого счетчика.
Комментарии
Необходимо инициализировать элементы Size и Version перед вызовом функции ReadThreadProfilingData для чтения данных профилирования.
Данные профиля, содержащиеся в этой структуре, зависят от данных, запрошенных при вызове функции ReadThreadProfilingData . При указании флага READ_THREAD_PROFILING_FLAG_DISPATCHING задаются следующие элементы:
- ContextSwitchCount
- CycleTime
- RetryCount
- WaitReasonBitMap
- HwCounters
- HwCountersCount
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | winnt.h (включая Windows.h) |