KeUpdateThreadSchedulingProperties
VOID __stdcall KeUpdateThreadSchedulingProperties(_ETHREAD *Thread, UINT8 ThreadState, _KPRCB *Prcb){
char v5;
char v6;
char v7;
INT64 v8;
KiUpdateSharedReadyQueueAffinityThread(0i64, (_KTHREAD *)Thread);
if( v5 == 2 && !*((_QWORD *)Prcb + 2) || v5 == 3 )
{
if( (*((_BYTE *)Thread + 2) & 4) == 0 || (KiIsThreadRankNonZero(Thread, Prcb), v6 = 1, !v7) )
v6 = *((_BYTE *)Thread + 195);
**((_BYTE **)Prcb + 7) = v6;
if( *((_QWORD *)Prcb + 4247) )
{
v8 = (unsigned int)KiVpThreadSystemWorkPriority;
if( Thread != *((_ETHREAD **)Prcb + 3) )
v8 = (unsigned int)v6;
KiSetSchedulerAssistPriority(*((volatile INT32 **)Prcb + 4247), v8, 0);
}
}
}Referenced by:
KiRemoveThreadFromSchedulingGroup
KiSetThreadSchedulingGroup