MiDeleteMergedPte
_MI_PAGE_DELETE_RESULT __stdcall MiDeleteMergedPte(_MI_PARTITION *Partition, _MMPTE *ProtoPte){
__int64 v4;
ULONG_PTR v5;
_MI_PAGE_DELETE_RESULT v6;
_MMPTE v7;
UINT8 PageIrql;
PageIrql = 0;
LODWORD(v4) = MI_READ_PTE_LOCK_FREE((INT64)ProtoPte);
if( v4 )
{
v5 = (unsigned int)MiLockProtoPoolPage(ProtoPte, &PageIrql);
v6 = MiTryDeleteTransitionPte(ProtoPte);
if( v6 == PageChangedState )
{
LODWORD(v7.u.Long) = MI_READ_PTE_LOCK_FREE((INT64)ProtoPte);
MiReleasePageFileSpace(Partition, v7, 1ui64);
}
MiUnlockProtoPoolPage(v5, PageIrql);
LODWORD(v4) = v6;
}
return(int)v4;
}Referenced by:
MiDecrementCloneBlockReference
MiDecrementCombinedPte