MiMakeSecureExclusive
NTSTATUS __stdcall MiMakeSecureExclusive(INT64 a1){
NTSTATUS v2;
__int64 *v3;
_EPROCESS *Process;
_MMSUPPORT_SHARED *SharedVm;
UINT8 v6;
__int64 *i;
v2 = 0;
v3 = 0i64;
Process = KeGetCurrentThread()->ApcState.Process;
SharedVm = MiGetSharedVm(&Process->Vm.Instance);
v6 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
SharedVm->GoodCitizenWaiting = 0;
for( i = *(__int64 **)(a1 + 56); i; i = (__int64 *)*i )
{
if( *((_DWORD *)i + 16) == 2 )
{
if( v3 )
goto LABEL_8;
v3 = i;
}
}
*((_DWORD *)v3 + 2) |= 0x20u;
v2 = 1;
LABEL_8:
MiUnlockWorkingSetExclusive(&Process->Vm.Instance, v6);
return v2;
}Referenced by:
MmStoreAllocateVirtualMemory