SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION_EX - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTEXAPI_H

// private
/**
 * The SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION_EX structure contains system processor performance information.
 */
typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION_EX
{
    LARGE_INTEGER IdleTime;
    LARGE_INTEGER KernelTime;
    LARGE_INTEGER UserTime;
    LARGE_INTEGER DpcTime;
    LARGE_INTEGER InterruptTime;
    ULONG InterruptCount;
    ULONG Spare0;
    //
    // The amount of time that the processor has spent executing low priority (background) threads,
    // in 100-nanosecond intervals. This is the remainder of the "% Priority Time" raw counter
    // (counter set {b4fc721a-0378-476f-89ba-a5a79f810b36}, counter 15), whose raw value is exactly
    // IdleTime + AvailableTime. That counter is a PERF_100NSEC_TIMER_INV, so:
    //
    //     PercentPriorityTime = 100 * (1 - d(IdleTime + AvailableTime) / dElapsed100ns)
    //
    // giving the percentage of elapsed time spent executing threads that are not low priority.
    //
    LARGE_INTEGER AvailableTime;
    LARGE_INTEGER Spare1;
    LARGE_INTEGER Spare2;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION_EX, *PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION_EX;

#endif

View code on GitHub

NtDoc

No description available.