MmBuildLargePages
UINT64 __fastcall MmBuildLargePages(INT64 a1, UINT64 a2){
UINT64 v2;
unsigned int v3;
unsigned int LargestPageIndex;
unsigned int v5;
__int64 *v6;
_MI_PARTITION *v7;
v2 = 0i64;
v3 = a2;
if( (unsigned int)a2 < (unsigned __int16)KeNumberNodes )
{
LargestPageIndex = MiGetLargestPageIndex();
v5 = LargestPageIndex;
if( LargestPageIndex < 3 )
{
v6 = &MiLargePageSizes[LargestPageIndex];
do
{
if( *v6 == 512 )
break;
++v5;
++v6;
}
while( v5 < 3 );
}
if( v5 != 3 )
{
LODWORD(v7) = MiPartitionObjectToPartition((PVOID)0xFFFFFFFFFFFFFFFFi64);
if( v7 )
return MiRebuildLargePage(v7, v3) >> 9;
}
}
return v2;
}Referenced by:
VmpAccessFaultBatchResolve