KiValidateCpuSetMasks
UINT8 __fastcall KiValidateCpuSetMasks(_GUID *a1, _IOBJECT_TYPE_LIST *a2){
unsigned int v2;
signed __int64 v4;
if( (unsigned int)a2 <= (unsigned __int16)KiMaximumGroups )
{
v2 = 0;
if( !(_DWORD)a2 )
return 0;
v4 = (char *)KeActiveProcessors.Bitmap - (char *)a1;
while( (~*(_QWORD *)((char *)&a1->Data1 + v4) & *(_QWORD *)&a1->Data1) == 0i64 )
{
++v2;
a1 = (_GUID *)((char *)a1 + 8);
if( v2 >= (unsigned int)a2 )
return 0;
}
}
return -81;
}Referenced by:
KeSetCpuSetsProcess
KeSetSelectedCpuSetsThread
KeSetSystemAllowedCpuSets
KeSetTagCpuSets
KiInitializeReservedCpuSets