PpmPerfAction
VOID __stdcall PpmPerfAction(_KDPC *Dpc, VOID *Context, VOID *Arg1, VOID *Arg2){
char v5;
__int64 v6;
v5 = _InterlockedExchange((volatile __int32 *)Context + 8276, 0);
if( (v5 & 1) != 0 )
PpmPerfSnapDeliveredPerformance((__int64)Context + 33128, 0, 0i64);
if( (v5 & 2) != 0 )
PpmParkReportUnparkedCore((_KPRCB *)Context);
if( (v5 & 4) != 0 )
{
v6 = *((_QWORD *)Context + 4142);
if( *(_BYTE *)(v6 + 124) )
{
*(_BYTE *)(v6 + 124) = 0;
PpmPerfApplyProcessorState((_KPRCB *)Context, 1u);
}
PpmPerfApplyProcessorState((_KPRCB *)Context, 0);
}
if( (v5 & 8) != 0 )
PpmParkReportParkedCore((_KPRCB *)Context);
if( (v5 & 0x10) != 0 )
PpmParkReportSoftParkChange((_KPRCB *)Context);
if( _InterlockedExchangeAdd((_DWORD *)&PopIrpWorkerControlEvent + 316, 0xFFFFFFFF) == 1 )
PpmCheckContinueExecution();
}Referenced by:
No references.