typedef struct _THREAD_PERFORMANCE_DATA
{
    unsigned short Size;
    unsigned short Version;
    PROCESSOR_NUMBER ProcessorNumber;
    unsigned long ContextSwitches;
    unsigned long HwCountersCount;
    volatile unsigned __int64 UpdateCount;
    unsigned __int64 WaitReasonBitMap;
    unsigned __int64 HardwareCounters;
    COUNTER_READING CycleTime;
    COUNTER_READING HwCounters[16];
} THREAD_PERFORMANCE_DATA, *PTHREAD_PERFORMANCE_DATA;