KiRemoveThreadFromAnyReadyQueue
VOID __stdcall KiRemoveThreadFromAnyReadyQueue(
_KPRCB *Prcb,
_KSHARED_READY_QUEUE *SharedReadyQueue,
_ETHREAD *Thread,
INT64 Priority){
if( (*((_DWORD *)Thread + 29) & 0x2000) != 0 )
{
KiRemoveThreadFromScbQueue(Prcb, *((_QWORD *)Thread + 118), Thread);
}
else if( *((int *)Thread + 134) >= 0 )
{
KiRemoveThreadFromReadyQueue((__int64)Prcb, (__int64)Thread + 216, Priority);
}
else
{
KiRemoveThreadFromSharedReadyQueue((__int64)SharedReadyQueue, (__int64)Thread, Priority);
}
}Referenced by:
KeSetActualBasePriorityThread
KiApplyForegroundBoostThread
KiRescheduleThreadAfterAffinityChange
KiSetHeteroPolicyThread
KiSetPriorityThread