MiRemoveViewsFromSection
__int64 __fastcall MiRemoveViewsFromSection(ULONG_PTR BugCheckParameter2, unsigned __int64 a2, unsigned int a3){
ULONG_PTR v5;
__int64 v6;
__int64 v7;
UINT64 v8;
unsigned __int64 v9;
unsigned int v11;
v5 = BugCheckParameter2;
v6 = 0i64;
v7 = *(_QWORD *)(*(_QWORD *)BugCheckParameter2 + 64i64);
do
{
v6 += MiDecrementSubsectionViewCount((INT64 *)v5, a3);
if( v7 && !*(_QWORD *)(v5 + 96) && (*(_BYTE *)(v5 + 34) & 1) == 0 )
v6 += MiInsertUnusedSubsection((_MSUBSECTION *)v5, v8);
if( a2 )
{
v9 = *(unsigned int *)(v5 + 44);
if( a2 <= v9 )
return v6;
a2 -= v9;
}
v5 = *(_QWORD *)(v5 + 16);
v11 = a3 & 0xFFFFFFF7;
if( v7 )
v11 = a3;
a3 = v11;
}
while( v5 );
return v6;
}Referenced by:
MiConvertStaticSubsections
MiRemoveMappedPtes
MiRemoveSystemCacheReferences
MiRemoveViewsFromSectionWithPfn
MmUnmapViewInSystemCache