PopUmpoProcessPowerMessage
NTSTATUS __stdcall PopUmpoProcessPowerMessage(POWER_MESSAGE *PowerMessage){
NTSTATUS result;
POWER_MESSAGE v2;
switch( *PowerMessage )
{
case 4:
result = PopSetNewPolicyValue(PowerMessage + 2);
if( result < 0 )
return result;
break;
case 7:
if( *((_BYTE *)PowerMessage + 20) && PowerMessage[3] == 18 )
PfPowerActionNotify((_EPROCESS *)5, 1i64, 0i64);
break;
case 8:
PopProcessPowerRequestOverrideQueryResponse((unsigned int *)PowerMessage + 2);
break;
case 10:
if( *((_BYTE *)PowerMessage + 8) )
{
PopAcquirePowerRequestPushLock(1u);
*(&stru_140C23628 + 6016) = 1;
PopPowerRequestNotificationsFlush((INT64 *)&stru_140C23628 + 757);
PopPowerRequestNotificationsFlush((INT64 *)&stru_140C23628 + 755);
PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 5864));
}
PopPowerRequestOverrideInitialize();
break;
case 14:
v2 = PowerMessage[2];
PopAcquirePolicyLock();
dword_140C231D0 = v2;
if( byte_140C231F1 )
{
PopIdleCancelAoAcDozeS4Timer(PopDozeTimerCancelledReasonAdaptiveStandbyAction);
PopIdleArmAoAcDozeS4Timer();
}
PopReleasePolicyLock();
break;
}
return 0;
}Referenced by:
PopUmpoProcessMessage