typedef struct _POP_POWER_ACTION
{
    unsigned char Updates;
    unsigned char State;
    unsigned char Shutdown;
    POWER_ACTION Action;
    SYSTEM_POWER_STATE LightestState;
    unsigned long Flags;
    long Status;
    POWER_POLICY_DEVICE_TYPE DeviceType;
    unsigned long DeviceTypeFlags;
    unsigned char IrpMinor;
    unsigned char Waking;
    SYSTEM_POWER_STATE SystemState;
    SYSTEM_POWER_STATE NextSystemState;
    SYSTEM_POWER_STATE EffectiveSystemState;
    SYSTEM_POWER_STATE CurrentSystemState;
    POP_SHUTDOWN_BUG_CHECK *ShutdownBugCode;
    POP_DEVICE_SYS_STATE *DevState;
    POP_HIBER_CONTEXT *HiberContext;
    unsigned __int64 WakeTime;
    unsigned __int64 SleepTime;
    unsigned __int64 ProgrammedRTCTime;
    unsigned char WakeOnRTC;
    DIAGNOSTIC_BUFFER *WakeTimerInfo;
    SYSTEM_POWER_CAPABILITIES FilteredCapabilities;
} POP_POWER_ACTION, *PPOP_POWER_ACTION;