KeAbProcessBaseIoPriorityChangeInternal
VOID __stdcall KeAbProcessBaseIoPriorityChangeInternal(_ETHREAD *Thread, UINT64 PriorityIncreased){
unsigned __int8 CurrentIrql;
_KPRCB *CurrentPrcb;
_SINGLE_LIST_ENTRY *v4;
_SINGLE_LIST_ENTRY *v5;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
CurrentPrcb = KeGetCurrentPrcb();
if( !*((_BYTE *)Thread + 871) || (_DWORD)PriorityIncreased )
{
if( !*((_BYTE *)Thread + 793) || !(_DWORD)PriorityIncreased )
goto LABEL_3;
v4 = (_SINGLE_LIST_ENTRY *)((char *)Thread + 808);
v5 = (_SINGLE_LIST_ENTRY *)((char *)CurrentPrcb + 34680);
}
else
{
v4 = (_SINGLE_LIST_ENTRY *)((char *)Thread + 816);
v5 = (_SINGLE_LIST_ENTRY *)((char *)CurrentPrcb + 34672);
}
if( (unsigned int)KiAbThreadInsertList((_KTHREAD *)Thread, v5, v4) )
KiAbQueueAutoBoostDpc(CurrentPrcb);
LABEL_3:
__writecr8(CurrentIrql);
}Referenced by:
IoUpdateThreadIoRateThrottle
KeAbProcessBaseIoPriorityChange