PpmGetPolicyAction
VOID __stdcall PpmGetPolicyAction(_PPM_POLICY_SETTINGS_MASK *SettingMask, _PPM_POLICY_ACTION_MASK *ActionMask){
unsigned __int64 Value;
int v3;
bool v4;
Value = SettingMask->Value;
if( (SettingMask->Value & 0x38000000700i64) != 0 )
{
if( (Value & 0x100) != 0 )
*(_DWORD *)ActionMask |= 0x200u;
if( (Value & 0x400) != 0 )
*(_DWORD *)ActionMask |= 0x40u;
if( (Value & 0x200) != 0 )
*(_DWORD *)ActionMask |= 0x20u;
if( (Value & 0x10000000000i64) != 0 )
*(_DWORD *)ActionMask |= 0x82u;
if( (Value & 0x8000000000i64) != 0 )
{
v3 = *(_DWORD *)ActionMask | 0x100;
v4 = PpmPerfAutonomousActivityWindowViaPerfControl == 0;
*ActionMask = (_PPM_POLICY_ACTION_MASK)v3;
if( !v4 )
*ActionMask = (_PPM_POLICY_ACTION_MASK)(v3 | 2);
}
if( (Value & 0x20000000000i64) != 0 )
*(_DWORD *)ActionMask |= 0x400u;
}
if( (Value & 0x4000000000i64) != 0 && PpmPerfEppViaPerfControl )
*(_DWORD *)ActionMask |= 2u;
if( (Value & 0xCC54000000EC0i64) != 0 )
*(_DWORD *)ActionMask |= 2u;
if( (Value & 0x180000000000i64) != 0 )
*(_DWORD *)ActionMask |= 0x1000u;
if( (Value & 0x10000000030000i64) != 0 )
*(_DWORD *)ActionMask |= 0xCu;
if( (Value & 0xC40000030DC0i64) != 0 )
*(_DWORD *)ActionMask |= 8u;
if( (Value & 0x2000D8000000i64) != 0 )
*(_DWORD *)ActionMask |= 1u;
if( (Value & 0x1000) != 0 )
*(_DWORD *)ActionMask |= 0x10u;
}Referenced by:
PpmCompareAndApplyPolicySettings
PpmSetProfilePolicySetting