KiIntSteerComputeCpuSet

NTSTATUS __stdcall KiIntSteerComputeCpuSet(_INTERRUPT_TRACKING_ROOT *IntTrackRoot, UINT8 Incremental){
  UINT64 v2; 
  NTSTATUS v4; 
  __int64 v5; 
  _GROUP_AFFINITY TargetProcessors; 

  v2 = *((unsigned __int16 *)IntTrackRoot + 72);
  TargetProcessors = 0i64;
  TargetProcessors.Mask = KiComputeCpuSetAffinityMask(0i64, (UINT64 *)IntTrackRoot + 19, v2);
  v4 = KiIntSteerVerifyDestination(IntTrackRoot, &TargetProcessors);
  if( v4 >> 31 == -1 )
  {
    *((_QWORD *)IntTrackRoot + 22) = 0i64;
  }
  else
  {
    *((_WORD *)IntTrackRoot + 92) = TargetProcessors.Group;
    *((_QWORD *)IntTrackRoot + 22) = v5;
  }
  return(v4 >> 31) & 0xC0000001;
}

Referenced by:

KiIntSteerAssignCpuSet
KiIntSteerCalculateDistribution