MiFreeReadListPages
VOID __fastcall MiFreeReadListPages(INT64 a1){
INT64 ListPageList;
_MI_PARTITION *v3;
UINT64 v4;
INT64 *v5;
__int64 v6;
__int64 v7;
UINT64 v8;
__int64 v9;
_MI_PARTITION *v10;
_MI_PARTITION *Partition;
Partition = 0i64;
ListPageList = MiFreeReadListPageList((INT64 *)(a1 + 40), (INT64 *)&Partition);
v3 = Partition;
v4 = ListPageList;
v5 = (INT64 *)(a1 + 48);
v6 = 4i64;
do
{
v7 = 0i64;
while( *v5 )
{
*v5 = MiGetPfnLink(*v5);
if( !v3 )
{
LODWORD(v10) = MiPartitionIdToPointer((*(_QWORD *)(v9 + 40) >> 39) & 0x3FF, v8);
v3 = v10;
}
MiReleaseFreshPage((_MMPFN *)v9);
++v7;
}
v4 += v7;
++v5;
--v6;
}
while( v6 );
if( v4 )
MiReturnFaultCharges(v3, v4, 1ui64);
}Referenced by:
MiPfPutPagesInTransition
MiReleaseReadListResources