PpmUpdatePlatformIdleVeto
__int64 __fastcall PpmUpdatePlatformIdleVeto(__int64 a1){
NTSTATUS updated;
__int64 v3;
PPM_VETO_ACCOUNTING *v4;
unsigned __int64 v5;
_KAFFINITY_EX Affinity;
memset(Affinity.Bitmap, 0i64, sizeof(Affinity.Bitmap));
if( PpmPlatformStates )
{
v3 = *(unsigned int *)(a1 + 4);
if( (unsigned int)v3 < *(_DWORD *)PpmPlatformStates )
{
v4 = (PPM_VETO_ACCOUNTING *)(PpmPlatformStates + 384 * v3);
v5 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 122);
updated = PpmUpdateIdleVeto(*(_BYTE *)(a1 + 12), *(unsigned int *)(a1 + 8), v4 + 2);
if( updated >= 0 )
PpmEventPlatformVetoRequest(*(unsigned int *)(a1 + 4), *(unsigned int *)(a1 + 8), *(_BYTE *)(a1 + 12));
KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 122);
__writecr8(v5);
}
else
{
return(unsigned int)-1073741811;
}
}
else
{
return(unsigned int)-1073741637;
}
return(unsigned int)updated;
}Referenced by:
No references.