MiReturnPfnList
INT64 __fastcall MiReturnPfnList(_MMPFN *PfnList){
_MMPFN *v1;
INT64 v2;
_MMPFN *v3;
unsigned __int64 v4;
v1 = PfnList;
v2 = 0i64;
if( PfnList )
{
do
{
v3 = *(_MMPFN **)v1;
v4 = (unsigned __int8)MiLockPageInline((INT64)v1);
*((_WORD *)v1 + 16) = 0;
*((_QWORD *)v1 + 3) &= 0xC000000000000000ui64;
MiInsertPageInFreeOrZeroedList((v1 - MmGetPfnDb()) / 48, 2ui64);
_InterlockedAnd64((volatile signed __int64 *)v1 + 3, 0x7FFFFFFFFFFFFFFFui64);
__writecr8(v4);
++v2;
v1 = v3;
}
while( v3 );
}
return v2;
}Referenced by:
MiDeleteSparseRange
MiInitializeDynamicBitmap