MiDeleteRotateAndStopFaults
VOID __stdcall MiDeleteRotateAndStopFaults(VOID *Va, VOID *EndingAddress, _MI_ROTATE_BLOCK *RotateBlock){
_EPROCESS *Process;
_MMSUPPORT_SHARED *SharedVm;
UINT8 v8;
__int128 WsIrql[3];
memset(WsIrql, 0, sizeof(WsIrql));
Process = KeGetCurrentThread()->ApcState.Process;
SharedVm = MiGetSharedVm(&Process->Vm.Instance);
v8 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
SharedVm->GoodCitizenWaiting = 0;
*(_QWORD *)RotateBlock = Process->RotateInProgress;
Process->RotateInProgress = (_ETHREAD *)RotateBlock;
MiUnlockWorkingSetExclusive(&Process->Vm.Instance, v8);
MiDeleteVirtualAddresses(Va, EndingAddress, 0i64, (UINT8)WsIrql, *(_MI_DELETE_VA_INFO **)&WsIrql[0]);
}Referenced by:
MmRotatePhysicalView