KiSetIdealNodeProcessByGroup
VOID __stdcall KiSetIdealNodeProcessByGroup(_EPROCESS *Process, _KNODE *IdealNode, UINT16 a3){
__int64 v3;
_KNODE *v4;
unsigned __int64 v6;
__int16 v7;
_GROUP_AFFINITY v8;
v3 = a3;
v4 = IdealNode;
v8 = 0i64;
v8.Group = a3;
v6 = *((_QWORD *)Process + a3 + 11);
v8.Mask = v6;
if( !IdealNode )
v4 = KeSelectNodeForAffinity(&v8);
*((_WORD *)Process + v3 + 386) = v4->Affinity.Reserved[0];
v8.Mask = v6 & v4->Affinity.Mask;
v7 = KiSelectIdealProcessorForProcess((INT64)v4, (INT64 *)&v8);
*((_WORD *)Process + v3 + 354) = v7;
*((_WORD *)Process + v3 + 322) = v7;
}Referenced by:
KeInitializeProcess
KeSetAffinityProcess
KiExtendProcessAffinity