MiCleanWorkingSet
NTSTATUS __stdcall MiCleanWorkingSet(_EPROCESS *Process){
_MMSUPPORT_FULL *p_Vm;
_MMSUPPORT_SHARED *SharedVm;
UINT8 v4;
UINT8 v5;
unsigned __int64 MinimumWorkingSetSize;
p_Vm = &Process->Vm;
SharedVm = MiGetSharedVm(&Process->Vm.Instance);
v4 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
SharedVm->GoodCitizenWaiting = 0;
v5 = v4;
p_Vm->Instance.Flags._bf_0 |= 1u;
--Process->NumberOfPrivatePages;
MiDrainSystemAccessLog(&p_Vm->Instance);
MinimumWorkingSetSize = p_Vm->Instance.MinimumWorkingSetSize;
MiUnlockWorkingSetExclusive(&p_Vm->Instance, v5);
return MinimumWorkingSetSize - 4;
}Referenced by:
MmCleanProcessAddressSpace