MiMapViewInSystemSpace
VOID __fastcall MiMapViewInSystemSpace(VOID *OpaqueSection, _MMSESSION *Session, VOID **MappedBase, UINT64 *ViewSize){
_CONTROL_AREA *v8;
UINT64 v9;
UINT64 LowPart;
UINT64 v11;
_LARGE_INTEGER *SectionOffset;
UINT64 Flags;
if( (Flags & 0xFFFFFFFFFFFFFFFEui64) == 0 )
{
v8 = MiSectionControlArea((_SECTION *)OpaqueSection);
MiCheckPurgeAndUpMapCount(v8);
v9 = *ViewSize;
if( *ViewSize )
{
LowPart = (unsigned __int16)SectionOffset->anonymous_0.LowPart;
if( v9 + LowPart < LowPart
|| (*ViewSize = v9 + LowPart,
LOWORD(SectionOffset->anonymous_0.LowPart) = 0,
v11 = *ViewSize,
*ViewSize > *((_QWORD *)OpaqueSection + 6) - SectionOffset->QuadPart) )
{
LABEL_9:
MiDereferenceControlArea(v8);
return;
}
}
else
{
LOWORD(SectionOffset->anonymous_0.LowPart) = 0;
v11 = *((_QWORD *)OpaqueSection + 6) - SectionOffset->QuadPart;
*ViewSize = v11;
}
if( (int)MiInsertInSystemSpace(Session, v11, (_SECTION *)OpaqueSection, SectionOffset, Flags) >= 0 )
{
*MappedBase = 0i64;
return;
}
goto LABEL_9;
}
}Referenced by:
AlpcpCreateView
MiMapImageInSystemSpace
MiUpdateCfgSystemWideBitmapWorker
MmMapViewInSessionSpaceEx
MmMapViewInSystemSpace
MmMapViewInSystemSpaceEx