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