KiAcquireSpinLockInstrumented

VOID __stdcall KiAcquireSpinLockInstrumented(UINT64 *SpinLock){
  struct _KPRCB *CurrentPrcb; 
  NTSTATUS v2; 

  CurrentPrcb = KeGetCurrentPrcb();
  ++CurrentPrcb->SynchCounters.SpinLockAcquireCount;
  if( _interlockedbittestandset64((volatile signed __int32 *)SpinLock, 0i64) )
  {
    v2 = KxWaitForSpinLockAndAcquire(SpinLock);
    ++CurrentPrcb->SynchCounters.SpinLockContentionCount;
    CurrentPrcb->SynchCounters.SpinLockSpinCount += v2;
  }
}

Referenced by:

No references.