MmDiscardDriverSection
VOID __stdcall MmDiscardDriverSection(_MMPTE **StartPte){
_KLDR_DATA_TABLE_ENTRY *v2;
VOID *DllBase;
INT8 v4;
INT64 v5;
_MMPTE *v6;
_ETHREAD *Lock;
_MMPTE *EndPte;
VOID *EndVa;
EndVa = 0i64;
EndPte = 0i64;
v2 = (_KLDR_DATA_TABLE_ENTRY *)MiLookupDataTableEntry(StartPte, 1ui64);
DllBase = v2->DllBase;
if( !MI_IS_PHYSICAL_ADDRESS(DllBase) || DllBase == (VOID *)PsNtosImageBase || DllBase == PsHalImageBase )
{
MiSnapDriverRange(v2, 0i64, 0i64, StartPte, &EndPte);
v6 = EndPte;
if( EndPte )
{
Lock = MmAcquireLoadLock(v5, v4);
MiFreeInitializationCode(v2, v6, EndVa);
MmReleaseLoadLock(Lock);
}
}
}Referenced by:
KeFreeInitializationCode