MiLockedPageTableHasActiveLargeEntries
NTSTATUS __stdcall MiLockedPageTableHasActiveLargeEntries(INT64 a1){
int v1;
unsigned __int64 PteBase;
int v4;
unsigned __int64 v5;
__int64 v7;
v1 = 0;
PteBase = (unsigned __int64)MmGetPteBase();
v4 = 0;
v5 = a1;
while( 1 )
{
v5 = (__int64)((v5 << 25) - (PteBase << 25)) >> 16;
if( v5 < PteBase || v5 > (unsigned __int64)MmGetPteLimit() )
break;
++v4;
}
if( (unsigned int)(v4 - 1) > 1 )
return 0;
while( 1 )
{
LODWORD(v7) = MI_READ_PTE_LOCK_FREE(a1);
if( (v7 & 0x1000000000000081i64) == 0x1000000000000081i64 )
break;
a1 += 8i64;
if( (unsigned int)++v1 >= 0x200 )
return 0;
}
return 1;
}Referenced by:
MiWsleFlush