MmDetachSession
NTSTATUS __stdcall MmDetachSession(PVOID OpaqueSession, _KAPC_STATE *ApcState){
__int64 v2;
_KLOCK_QUEUE_HANDLE LockHandle;
v2 = *((_QWORD *)OpaqueSession + 171);
memset(&LockHandle, 0, sizeof(LockHandle));
KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&stru_140C4DB30 + 522, &LockHandle);
--*(_DWORD *)(v2 + 100);
if( (*(_DWORD *)(v2 + 4) & 2) == 0 || *(_DWORD *)(v2 + 100) )
v2 = 0i64;
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
KiUnstackDetachProcess(ApcState, 0i64);
if( v2 )
KeSignalGate((_KGATE *)(v2 + 104), 1i64);
return 0;
}Referenced by:
CmFcpChangeSubscriptionWrapper
EtwpEnableGuid
EtwpPoolRunDown
EtwpSendDataBlock
ExCallSessionCallBack
ExGetSessionBigPoolInformation
ExGetSessionPoolTagInformation
ExpHpCompactSessionPools
MiEmptyAccessLogs
MiTrimSharedPageFromViews
MiUnlockStealVm
MmEnumerateSystemImages
MmGetSessionMappedViewInformation
MmPrefetchVirtualMemory
ObpProcessRemoveObjectQueue
PnpNotifyDriverCallback
PopLazySensorActiveInput
PopWatchdogWorker
PspChangeProcessExecutionState
PspDetachSession
TtmpSessionWorker
VfThunkApplyMandatoryThunks
VfThunkApplyThunks