MmStoreDecommitVirtualMemory
VOID __stdcall MmStoreDecommitVirtualMemory(VOID *VirtualAddress, UINT64 Size){
_EPROCESS *Process;
_MMVAD *Address;
char v6;
UINT64 v7;
_MMVAD_SHORT *p_Core;
UINT64 v9;
_MI_DELETE_VA_INFO DeleteInfo;
__int128 v11;
__int128 v12;
DeleteInfo = 0i64;
v11 = 0i64;
v12 = 0i64;
Process = KeGetCurrentThread()->ApcState.Process;
MiLockWorkingSetShared();
Address = MiLocateAddress(VirtualAddress);
LOBYTE(v7) = v6;
p_Core = &Address->Core;
MiUnlockWorkingSetShared(&Process->Vm.Instance, v7);
LODWORD(v9) = 0;
MiDecommitPages(
VirtualAddress,
(_MMPTE *)((char *)MmGetPteBase() + ((((unsigned __int64)VirtualAddress + Size - 1) >> 9) & 0x7FFFFFFFF8i64)),
(ULONG_PTR)Process,
p_Core,
v9,
&DeleteInfo);
}Referenced by:
SMKM_STORE::SmStReleaseVirtualRegion
ST_STORE::StCompactionPerformEmergency