PopActionRetrieveInitialState
VOID __stdcall PopActionRetrieveInitialState(
_SYSTEM_POWER_STATE *LightestSystemState,
_SYSTEM_POWER_STATE *DeepestSystemState,
_SYSTEM_POWER_STATE *InitialSystemState,
UINT8 *QueryDevices){
_SYSTEM_POWER_STATE *v4;
__int64 v8;
_SYSTEM_POWER_STATE v9;
v4 = LightestSystemState;
if( (unsigned int)(SystemAction - 4) <= 2 )
{
*LightestSystemState = PowerSystemShutdown;
*DeepestSystemState = PowerSystemShutdown;
}
else if( SystemAction == PowerActionWarmEject )
{
*DeepestSystemState = PowerSystemHibernate;
PopVerifySystemPowerState(DeepestSystemState, SubstituteLightenSleep);
}
else
{
v8 = *(&stru_140C23628 + 232);
*DeepestSystemState = *(_SYSTEM_POWER_STATE *)(*(&stru_140C23628 + 232) + 72i64);
v9 = *(_DWORD *)(v8 + 68);
if( v9 > *v4 )
*v4 = v9;
}
if( *v4 > *DeepestSystemState )
*DeepestSystemState = *v4;
*QueryDevices = 1;
if( *v4 == PowerSystemShutdown || (Flags & 0x80000000) != 0i64 && (unsigned int)(SleepReason - 1) <= 1 )
*QueryDevices = 0;
if( PopFastS4Check() )
{
*v4 = *DeepestSystemState;
LODWORD(Flags) = Flags & 0xEFFFFFFF;
}
if( (Flags & 0x10000000) == 0 )
v4 = DeepestSystemState;
*InitialSystemState = *v4;
}Referenced by:
PopTransitionSystemPowerStateEx