PpmPerfGetBrandedFrequency
NTSTATUS __stdcall PpmPerfGetBrandedFrequency(PPROCESSOR_NUMBER ProcNumber){
_DWORD *v1;
NTSTATUS v2;
_DWORD *v4;
unsigned int ProcessorIndexFromNumber;
int v7;
_KAFFINITY_ENUMERATION_CONTEXT Context;
UINT64 ProcIndex;
v2 = 0;
*(_DWORD *)(&Context.CurrentIndex + 1) = 0;
*(&Context.CurrentIndex + 3) = 0;
v4 = v1;
LODWORD(ProcIndex) = 0;
PpmAcquireLock((_PPM_LOCK *)((char *)&stru_140C23628 + 1048));
v4[1] = 0;
if( ProcNumber )
{
if( ProcNumber->Reserved
|| (ProcessorIndexFromNumber = KeGetProcessorIndexFromNumber(&ProcNumber->Group), ProcessorIndexFromNumber == -1) )
{
v2 = -1073741811;
}
else
{
PpmPerfAccumulateBrandedFrequency(ProcessorIndexFromNumber, v4);
}
}
else
{
Context.CurrentMask = PpmCheckRegistered.Bitmap[0];
Context.Affinity = &PpmCheckRegistered;
Context.CurrentIndex = 0;
while( 1 )
{
KeEnumerateNextProcessor(&ProcIndex, &Context);
if( v7 )
break;
PpmPerfAccumulateBrandedFrequency((unsigned int)ProcIndex, v4);
}
}
PpmReleaseLock((INT64 *)&stru_140C23628 + 131);
return v2;
}Referenced by:
PopPowerInformationInternal