MiLookupIoPageNode
RTL_BALANCED_NODE *__fastcall MiLookupIoPageNode(UINT64 IoPageFrame){
KIRQL v2;
RTL_BALANCED_NODE *v3;
unsigned __int64 v4;
UINT64 ParentValue;
v2 = ExAcquireSpinLockShared(&dword_140C4E980);
v3 = (RTL_BALANCED_NODE *)*((_QWORD *)&xmmword_140C4E988 + 1);
v4 = v2;
while( v3 )
{
ParentValue = v3[1].ParentValue;
if( IoPageFrame < ParentValue )
{
v3 = v3->Children[0];
}
else
{
if( IoPageFrame < ParentValue + 512 )
break;
v3 = v3->Children[1];
}
}
ExReleaseSpinLockSharedFromDpcLevel(&dword_140C4E980);
__writecr8(v4);
return v3;
}Referenced by:
MiInsertPhysicalPteMapping
MmGetCacheAttributeEx
MmProtectMdlSystemAddress