MiReturnPfnList
NTSTATUS __stdcall MiReturnPfnList(_MMPFN *PfnList){
_MMPFN *v1;
NTSTATUS v2;
_MMPFN *bf_0;
unsigned __int64 v4;
INT64 v5;
UINT64 v6;
UINT64 v8;
UINT64 v9;
v1 = PfnList;
v2 = 0;
if( PfnList )
{
do
{
bf_0 = (_MMPFN *)v1->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0;
v4 = MiLockPageInline(v1);
v1->u3.ReferenceCount = 0;
v1->u2._bf_0 &= 0xC000000000000000ui64;
MiInsertPageInFreeOrZeroedList(v1 - MmGetPfnDb(), 2ui64, v5, v6, v8, v9);
_InterlockedAnd64(&v1->u2.Lock, 0x7FFFFFFFFFFFFFFFui64);
__writecr8(v4);
++v2;
v1 = bf_0;
}
while( bf_0 );
}
return v2;
}Referenced by:
MiDeleteSparseRange
MiInitializeDynamicBitmap