MiCancelPhase0Locking
_QWORD *__fastcall MiCancelPhase0Locking(__int64 a1){
_ETHREAD *CurrentThread;
_QWORD *result;
if( (*(_DWORD *)(a1 + 104) & 0x400000) != 0 )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
ExAcquireResourceExclusiveLite(&PsLoadedModuleResource, 1u);
if( (*(_DWORD *)(a1 + 104) & 0x400000) != 0 )
{
MiLockPagableSections(a1, 0);
*(_DWORD *)(a1 + 104) &= ~0x400000u;
}
ExReleaseResourceLite(&PsLoadedModuleResource);
return KeLeaveCriticalRegionThread((__int64)CurrentThread);
}
return result;
}Referenced by:
MmPageEntireDriver
MmResetDriverPaging