typedef struct _POP_THERMAL_ZONE                                                // 44 / 44 elements; 0x02E8 / 0x0368 Bytes
{
    union                                                                       // 2 / 2 elements; 0x0020 / 0x0040 Bytes
    {
        POP_POLICY_DEVICE       PolicyDevice;                                   // 0x0000 / 0x0000; 0x0020 / 0x0040 Bytes
        struct                                                                  // 6 / 6 elements; 0x0020 / 0x0040 Bytes
        {
            LIST_ENTRY          Link;                                           // 0x0000 / 0x0000; 0x0008 / 0x0010 Bytes
            enum POWER_POLICY_DEVICE_TYPE 
                                DeviceType;                                     // 0x0008 / 0x0010; 0x0004 / 0x0004 Bytes
            PVOID               Notification;                                   // 0x000C / 0x0018; 0x0004 / 0x0008 Bytes
            UNICODE_STRING      Name;                                           // 0x0010 / 0x0020; 0x0008 / 0x0010 Bytes
            PDEVICE_OBJECT      Device;                                         // 0x0018 / 0x0030; 0x0004 / 0x0008 Bytes
            PIRP                Irp;                                            // 0x001C / 0x0038; 0x0004 / 0x0008 Bytes
        };
    };
    UINT8                       State;                                          // 0x0020 / 0x0040; 0x0001 / 0x0001 Bytes
    UINT8                       Flags;                                          // 0x0021 / 0x0041; 0x0001 / 0x0001 Bytes
    UINT8                       Removing;                                       // 0x0022 / 0x0042; 0x0001 / 0x0001 Bytes
    UINT8                       Mode;                                           // 0x0023 / 0x0043; 0x0001 / 0x0001 Bytes
    UINT8                       PendingMode;                                    // 0x0024 / 0x0044; 0x0001 / 0x0001 Bytes
    UINT8                       ActivePoint;                                    // 0x0025 / 0x0045; 0x0001 / 0x0001 Bytes
    UINT8                       PendingActivePoint;                             // 0x0026 / 0x0046; 0x0001 / 0x0001 Bytes
    UINT8                       Critical;                                       // 0x0027 / 0x0047; 0x0001 / 0x0001 Bytes
    UINT8                       ThermalStandby;                                 // 0x0028 / 0x0048; 0x0001 / 0x0001 Bytes
    UINT8                       OverThrottled;                                  // 0x0029 / 0x0049; 0x0001 / 0x0001 Bytes
    UINT8                       _PADDING0_[2];                                  // 0x002A / 0x004A; 0x0002 / 0x0002 Bytes
    LONG32                      HighPrecisionThrottle;                          // 0x002C / 0x004C; 0x0004 / 0x0004 Bytes
    LONG32                      Throttle;                                       // 0x0030 / 0x0050; 0x0004 / 0x0004 Bytes
    LONG32                      PendingThrottle;                                // 0x0034 / 0x0054; 0x0004 / 0x0004 Bytes
    ULONG32                     ThrottleReasons;                                // 0x0038 / 0x0058; 0x0004 / 0x0004 Bytes
    UINT8                       _PADDING1_[4];                                  // 0x003C / 0x005C; 0x0004 / 0x0004 Bytes
    UINT64                      LastPassiveTime;                                // 0x0040 / 0x0060; 0x0008 / 0x0008 Bytes
    ULONG32                     SampleRate;                                     // 0x0048 / 0x0068; 0x0004 / 0x0004 Bytes
    ULONG32                     LastTemp;                                       // 0x004C / 0x006C; 0x0004 / 0x0004 Bytes
    THERMAL_INFORMATION_EX      Info;                                           // 0x0050 / 0x0070; 0x005C / 0x005C Bytes
    THERMAL_POLICY              Policy;                                         // 0x00AC / 0x00CC; 0x0018 / 0x0018 Bytes
    UINT8                       PolicyDriver;                                   // 0x00C4 / 0x00E4; 0x0001 / 0x0001 Bytes
    UINT8                       _PADDING2_[3];                                  // 0x00C5 / 0x00E5; 0x0003 / 0x0003 Bytes
    ULONG32                     PollingRate;                                    // 0x00C8 / 0x00E8; 0x0004 / 0x0004 Bytes
    UINT8                       _PADDING3_[4];                                  // 0x00CC / 0x00EC; 0x0004 / 0x0004 Bytes
    UINT64                      LastTemperatureTime;                            // 0x00D0 / 0x00F0; 0x0008 / 0x0008 Bytes
    UINT64                      LastActiveStartTime;                            // 0x00D8 / 0x00F8; 0x0008 / 0x0008 Bytes
    UINT64                      LastPassiveStartTime;                           // 0x00E0 / 0x0100; 0x0008 / 0x0008 Bytes
    WORK_QUEUE_ITEM             WorkItem;                                       // 0x00E8 / 0x0108; 0x0010 / 0x0020 Bytes
    KTIMER2                     ZoneUpdateTimer;                                // 0x00F8 / 0x0128; 0x0058 / 0x0088 Bytes
    POP_RW_LOCK                 Lock;                                           // 0x0150 / 0x01B0; 0x0008 / 0x0010 Bytes
    KEVENT                      ZoneStopped;                                    // 0x0158 / 0x01C0; 0x0010 / 0x0018 Bytes
    KEVENT                      TemperatureUpdated;                             // 0x0168 / 0x01D8; 0x0010 / 0x0018 Bytes
    ULONG32                     InstanceId;                                     // 0x0178 / 0x01F0; 0x0004 / 0x0004 Bytes
    UINT8                       _PADDING4_[4];                                  // 0x017C / 0x01F4; 0x0004 / 0x0004 Bytes
    POP_THERMAL_TELEMETRY_TRACKER 
                                TelemetryTracker;                               // 0x0180 / 0x01F8; 0x0160 / 0x0160 Bytes
    UNICODE_STRING              Description;                                    // 0x02E0 / 0x0358; 0x0008 / 0x0010 Bytes
} POP_THERMAL_ZONE, * PPOP_THERMAL_ZONE;

Return to OS-specific structures/unions/enums list.
Return to OS version list.