MiGetSubsectionCharges
NTSTATUS __stdcall MiGetSubsectionCharges(UINT8 FreePhysicalPages){
INT64 v1;
UINT64 v2;
__int64 v3;
_MI_CROSS_PARTITION_CHARGES *v4;
NTSTATUS result;
NTSTATUS v6;
v2 = v1;
v3 = *(_QWORD *)(*(_QWORD *)FreePhysicalPages + 64i64);
v4 = *(_MI_CROSS_PARTITION_CHARGES **)(qword_140C4E388
+ 8i64 * (*(_WORD *)(*(_QWORD *)FreePhysicalPages + 60i64) & 0x3FF));
result = MiGetCrossPartitionCharges((INT64)v4, 0i64, v3 != 0, v1);
if( result >= 0 )
{
if( v3 && !(unsigned int)MiChargeCommit((_MI_PARTITION *)v4, v2, 0i64) )
{
v6 = -1073741523;
LABEL_9:
MiReturnCrossPartitionCharges(v4, 0i64);
return v6;
}
if( !(unsigned int)MiChargeResident(&v4->CurrentCharges, v2, 0i64) )
{
if( v3 )
MiReturnCommit((_MI_PARTITION *)v4, v2);
v6 = -1073741801;
goto LABEL_9;
}
return 0;
}
return result;
}Referenced by:
MiChargeSegmentCommit
MiCreatePrototypePtes
MiExtendSection
MiReferenceActiveSubsection
MiUpdateLastSubsectionSize