MiWorkingSetVeryLarge
NTSTATUS __stdcall MiWorkingSetVeryLarge(_MMSUPPORT_INSTANCE *Vm, UINT64 ListInfoAccessible){
unsigned __int64 WorkingSetSize;
unsigned __int64 LockedEntries;
_MI_PARTITION *v4;
unsigned __int64 NumberOfPhysicalPages;
unsigned __int64 v6;
_DWORD *WorkingSetControl;
__int64 v8;
unsigned __int64 v9;
WorkingSetSize = Vm->WorkingSetSize;
LockedEntries = Vm->VmWorkingSetList->LockedEntries;
if( WorkingSetSize <= LockedEntries )
return 0;
v4 = *(_MI_PARTITION **)(*(&stru_140C4DB30 + 267) + 8i64 * Vm->PartitionId);
NumberOfPhysicalPages = v4->Vp.NumberOfPhysicalPages;
v6 = WorkingSetSize & 0x3F;
if( (WorkingSetSize & 0x3F) == 0
&& v4->Vp.AvailablePages < NumberOfPhysicalPages / 0x14
&& WorkingSetSize >= NumberOfPhysicalPages / 0x14 )
{
return 1;
}
if( WorkingSetSize - LockedEntries < 3 * (NumberOfPhysicalPages >> 2) )
return 0;
WorkingSetControl = v4->WorkingSetControl;
if( MiGetStandbyRepurposed(v4, 1ui64) == WorkingSetControl[11] )
return 0;
if( v6 )
v9 = *(_QWORD *)(v8 + 7104);
return v9 < 10i64 * *((_QWORD *)WorkingSetControl + 298);
}Referenced by:
MiOrderTrimList