PpmPerfResizeHistoryAll
VOID __stdcall PpmPerfResizeHistoryAll(){
int v0;
_KPRCB *Prcb;
INT64 i;
unsigned int v3;
__int64 v4;
_KAFFINITY_ENUMERATION_CONTEXT Context;
UINT64 ProcIndex;
*(_DWORD *)(&Context.CurrentIndex + 1) = 0;
*(&Context.CurrentIndex + 3) = 0;
Context.CurrentIndex = 0;
LODWORD(ProcIndex) = 0;
Context.CurrentMask = PpmCheckRegistered.Bitmap[0];
Context.Affinity = &PpmCheckRegistered;
while( 1 )
{
KeEnumerateNextProcessor(&ProcIndex, &Context);
if( v0 )
break;
Prcb = KeGetPrcb((unsigned int)ProcIndex);
PpmPerfResizeHistory((_KPRCB *)&Prcb->PowerState.CheckContext);
}
for( i = PpmPerfDomainHead; (INT64 *)i != &PpmPerfDomainHead; i = *(_QWORD *)i )
{
if( *(_DWORD *)(i + 200) )
{
v3 = 0;
do
{
v4 = *(_QWORD *)(i + 216) + 136i64 * v3;
if( *(_DWORD *)(v4 + 16) == 1 )
PpmPerfResizeHistory(*(_KPRCB **)v4);
++v3;
}
while( v3 < *(_DWORD *)(i + 200) );
}
}
}Referenced by:
PpmReapplyPerfPolicy