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