UNLOCK_ADDRESS_SPACE_SHARED
VOID __stdcall UNLOCK_ADDRESS_SPACE_SHARED(_ETHREAD *Thread, _EPROCESS *Process){
_EX_PUSH_LOCK *p_AddressCreationLock;
Thread->$84F33738BEE95ACDF5C5BF1C8FDC7C8C::_bf_0 &= ~2u;
p_AddressCreationLock = &Process->AddressCreationLock;
if( _InterlockedCompareExchange64(&Process->AddressCreationLock._bf_0, 0i64, 17i64) != 17 )
ExfReleasePushLockShared(&Process->AddressCreationLock);
KeAbPostRelease(p_AddressCreationLock);
if( Thread->Tcb.SpecialApcDisable++ == -1
&& ($F25F8C4BA33AF922A5F1AF68CD89DDDF *)Thread->Tcb.ApcState.ApcListHead[0].Flink != &Thread->Tcb.152 )
{
KiCheckForKernelApcDelivery();
}
}Referenced by:
MiAllocateUserPhysicalPages
MiCfgInitializeProcess
MiCreateLargePageVad
MiEmptyWorkingSetPrivatePagesByVa
MiFreeLargePageView
MiHotPatchProcess
MiObtainReferencedSecureVad
MiObtainReferencedVadEx
MiScrubProcessLargePages
MiUnlockVadRange
MmCheckForSafeExecution
MmCleanProcessAddressSpace
MmEnumerateAddressSpaceAndReferenceImages
MmGetImageInformation
MmIsFileMapped
MmOutSwapVirtualAddresses
MmOutSwapWorkingSet
MmQueryVirtualMemory