MiMappingHasIoReferences
VOID __stdcall MiMappingHasIoReferences(PVOID SystemVa){
_MMPTE *PteBase;
unsigned __int64 v2;
int i;
signed __int64 v4;
signed __int64 v5;
PteBase = MmGetPteBase();
v2 = (unsigned __int64)PteBase + (((unsigned __int64)SystemVa >> 9) & 0x7FFFFFFFF8i64);
for( i = MI_IS_PHYSICAL_ADDRESS(SystemVa); i; --i )
v2 = (unsigned __int64)PteBase + ((v2 >> 9) & 0x7FFFFFFFF8i64);
v4 = MI_READ_PTE_LOCK_FREE(v2);
do
{
v5 = v4;
v4 = _InterlockedCompareExchange64((volatile signed __int64 *)v2, v4 | 0x200, v4);
}
while( v5 != v4 );
}Referenced by:
MiMapContiguousMemory
MmMapLockedPagesSpecifyCache
MmMapMdl
MmProtectMdlSystemAddress