MiUserPdeOrAbove
INT64 __stdcall MiUserPdeOrAbove(UINT64 PointerPte){
UINT64 PdeBase;
UINT64 v2;
_MMPTE *PteBase;
unsigned int i;
PdeBase = (UINT64)MmGetPdeBase();
v2 = PdeBase + 536870904;
PteBase = MmGetPteBase();
for( i = 1; i < 4; ++i )
{
if( PointerPte <= v2 && PointerPte >= PdeBase )
return 1i64;
PdeBase = (UINT64)PteBase + ((PdeBase >> 9) & 0x7FFFFFFFF8i64);
v2 = (UINT64)PteBase + ((v2 >> 9) & 0x7FFFFFFFF8i64);
}
return 0i64;
}Referenced by:
MiCompletePrivateZeroFault
MiCompleteProtoPteFault
MiFillSystemPtes
MiMakePageAvoidRead
MiMakeValidPte
MiMapPagesToZero
MiResolveTransitionFault
MiRevertValidPte
MmCheckCachedPageStates