POWER_INFORMATION_ENERGY_TRACKER_QUERY_OUTPUT - NtDoc

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

// rev
/**
 * The POWER_INFORMATION_ENERGY_TRACKER_QUERY_OUTPUT structure contains the fixed prefix returned by EnergyTrackerQuery.
 *
 * This prefix has the same layout as POWER_INFORMATION_ENERGY_TRACKER_QUERY_HEADER.
 * Variable-length process records, energy values, tracker configuration, statistics, SIDs and strings
 * follow it and are located by their buffer-relative offsets; TotalSize includes all of these sections.
 * On STATUS_BUFFER_TOO_SMALL, a buffer of at least 0x0C bytes receives Signature, HeaderSize = 0,
 * and the required TotalSize. The remaining fields are valid only after a successful query.
 */
typedef struct _POWER_INFORMATION_ENERGY_TRACKER_QUERY_OUTPUT
{
    ULONG Signature;                         // POWER_INFORMATION_ENERGY_TRACKER_SIGNATURE
    ULONG HeaderSize;                        // Size of the fixed header, in bytes; zero on STATUS_BUFFER_TOO_SMALL.
    ULONG TotalSize;                         // Required output buffer size, in bytes.
    ULONG Sequence;                          // Starts at 1; advances after each successful query.
    ULONG TickCountDelta;                    // Elapsed tick-count milliseconds.
    ULONG UnbiasedInterruptTimeMsDelta;      // Elapsed unbiased interrupt-time milliseconds.
    ULONG SnapshotTickCount;                 // Tick count before serializing the records.
    ULONG CurrentTickCount;                  // Tick count after serializing the records.
    ULONG CurrentTimelineBitmapTime;         // KeQueryTimelineBitmapTime.
    ULONG ProcessRecordOffset;               // Offset to POWER_INFORMATION_ENERGY_TRACKER_PROCESS_ENTRY[ProcessRecordCount]; 0x48.
    ULONG ProcessRecordCount;                // Number of aggregate process records.
    ULONG StatisticsOffset;                  // Offset to POWER_INFORMATION_ENERGY_TRACKER_STATISTICS (0x10 bytes); current-query counters.
    ULONG CumulativeStatisticsOffset;        // Offset to POWER_INFORMATION_ENERGY_TRACKER_STATISTICS (0x10 bytes); cumulative counters, including this query.
    ULONG TrackerConfigurationOffset;        // Offset to POWER_INFORMATION_ENERGY_TRACKER_CREATE_INPUT (0x0C bytes); effective creation parameters.
    USHORT ProcessRecordSize;                // Size of each aggregate process record, in bytes.
    USHORT StatisticsSize;                   // Size of each tracker statistics block, in bytes.
    USHORT TrackerConfigurationSize;         // Size of the effective tracker configuration, in bytes.
    USHORT Reserved;                         // Reserved.
    ULONG CurrentSystemTimeLow;              // Low 32 bits of the system time.
    ULONG CurrentSystemTimeHigh;             // High 32 bits of the system time.
} POWER_INFORMATION_ENERGY_TRACKER_QUERY_OUTPUT, *PPOWER_INFORMATION_ENERGY_TRACKER_QUERY_OUTPUT;

#endif

View code on GitHub

NtDoc

No description available.