KiSelectThreadFromSchedulingGroup
_KTHREAD *__stdcall KiSelectThreadFromSchedulingGroup(_KPRCB *Prcb, _KSCB *Scb, INT64 LowPriority){
_LIST_ENTRY **p_Blink;
int v4;
unsigned int v5;
p_Blink = 0i64;
v4 = Scb->ReadySummary >> LowPriority;
if( v4 )
{
_BitScanReverse(&v5, v4);
p_Blink = &Scb->ReadyListHead[(unsigned int)LowPriority + v5].Flink[-14].Blink;
KiRemoveThreadFromScbQueue(Prcb, Scb, p_Blink);
}
return(_KTHREAD *)p_Blink;
}Referenced by:
KiChooseLowestRankedThread
KiSearchForNewThread
KiSelectLowestRankedThread
KiSelectThreadFromScbQueue
KiSwapThread