MiSessionUnloadAllImages
VOID __stdcall MiSessionUnloadAllImages(PVOID MemoryMap, PVOID Va, UINT64 a3){
_ETHREAD *Lock;
PVOID *v4;
_ETHREAD *v5;
_ETHREAD *v6;
UINT64 v7;
Lock = MmAcquireLoadLock();
v4 = (PVOID *)PsLoadedModuleList;
v5 = Lock;
while( v4 != &PsLoadedModuleList )
{
v7 = (UINT64)v4[6];
if( (unsigned int)MiGetSystemRegionType(v7) == 1 && MiSessionLookupImage(v7) )
{
MmReleaseLoadLock(v5);
MmUnloadSystemImage(v4);
v6 = MmAcquireLoadLock();
v4 = (PVOID *)PsLoadedModuleList;
v5 = v6;
}
else
{
v4 = (PVOID *)*v4;
}
}
MmReleaseLoadLock(v5);
}Referenced by:
MiDereferenceSessionFinal