MiAttachThreadDone
VOID __stdcall MiAttachThreadDone(_MMSUPPORT_INSTANCE *Vm){
_KGATE *ExitOutswapGate;
_KLOCK_QUEUE_HANDLE LockHandle;
_MMSUPPORT_FLAGS Flags;
memset(&LockHandle, 0, sizeof(LockHandle));
KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&stru_140C4DB30 + 522, &LockHandle);
Flags = Vm->Flags;
Flags._bf_1 = Flags._bf_1 & 0xF | (16 * (((unsigned __int8)Flags._bf_1 >> 4) - 1));
Vm->Flags.u1 = Flags.u1;
ExitOutswapGate = Vm->ExitOutswapGate;
if( ExitOutswapGate )
KeSignalGate(ExitOutswapGate, 1i64);
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
}Referenced by:
MiSharePages
MiTrimSharedPageFromViews
MiUnlockStealVm
MmQueryCommitReleaseState
MmReleaseCommitForMemResetPages