KiTryToAcquireQueuedSpinLockInstrumented
UINT64 __stdcall KiTryToAcquireQueuedSpinLockInstrumented(_KSPIN_LOCK_QUEUE *LockQueue, UINT64 *SpinLock){
struct _KPRCB *CurrentPrcb;
signed __int64 v3;
CurrentPrcb = KeGetCurrentPrcb();
_m_prefetchw(SpinLock);
if( *(_DWORD *)SpinLock
|| (v3 = _InterlockedCompareExchange64((volatile signed __int64 *)SpinLock, (signed __int64)LockQueue, 0i64)) != 0 )
{
_mm_pause();
return 0i64;
}
else
{
++CurrentPrcb->SynchCounters.SpinLockAcquireCount;
return 1i64;
}
}Referenced by:
No references.