MiFillCombinePage
NTSTATUS __stdcall MiFillCombinePage(_MMPFN *SharedPfn, _MMPFN *PrivatePfn, VOID *PrivateMappedVa, VOID *a4){
__int64 v5;
UINT64 v6;
unsigned int v7;
void *v8;
VOID *v9;
v5 = (unsigned __int128)(((char *)PrivatePfn - (char *)MmGetPfnDb()) * (__int128)0x2AAAAAAAAAAAAAABi64) >> 64;
v6 = ((unsigned __int64)v5 >> 63) + (v5 >> 3);
v7 = *((unsigned __int8 *)PrivateMappedVa + 34);
if( (((unsigned __int8)v7 ^ *((_BYTE *)&PrivatePfn->u3 + 2)) & 0xC0) != 0 )
MiChangePageAttribute(PrivatePfn, (_MI_PFN_CACHE_ATTRIBUTE)(v7 >> 6), 2ui64);
v8 = MiMapSinglePage(0i64, v6, 0x40000010ui64);
v9 = v8;
if( v8 )
{
KeCopyPage(v8);
MiUnmapSinglePage(v9);
LODWORD(v8) = 1;
}
return(int)v8;
}Referenced by:
MiConvertPrivateToProto
MiConvertStandbyToProto