KiGetProcessCpuSetMaskPointer
UINT64 *__stdcall KiGetProcessCpuSetMaskPointer(_EPROCESS *Process, UINT64 AllowedSets, UINT64 *GroupCount){
if( (Process->Flags3 & 0x80u) != 0 )
{
*(_DWORD *)GroupCount = (unsigned __int16)KiMaximumGroups;
if( (_DWORD)AllowedSets )
return Process->AllowedCpuSetsIndirect;
else
return Process->DefaultCpuSetsIndirect;
}
else
{
*(_DWORD *)GroupCount = 1;
return(unsigned __int64 *)((char *)&Process->DefaultCpuSets
+ (-(__int64)((_DWORD)AllowedSets != 0) & 0xFFFFFFFFFFFFFFF8ui64));
}
}Referenced by:
KeQueryCpuSetsProcess
KeSetCpuSetsProcess