_interlockedbittestandreset64 function (winnt.h)

Tests the specified bit of the specified LONG64 value and sets it to 0. The operation is atomic.

Syntax

BOOLEAN _interlockedbittestandreset64(
  [in] LONG64 volatile *Base,
  [in] LONG64          Offset
);

Parameters

[in] Base

A pointer to a variable.

[in] Offset

The bit position to be tested.

Return value

The value of the specified bit.

Remarks

The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. This function is atomic with respect to calls to other interlocked functions.

This function is implemented using a compiler intrinsic where possible. For more information, see the WinBase.h header file and _interlockedbittestandreset64.

This function generates a full memory barrier (or fence) to ensure that memory operations are completed in order.

Requirements

Requirement Value
Target Platform Windows
Header winnt.h (include Windows.h)

See also

Interlocked Variable Access

InterlockedBitTestAndReset

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet

InterlockedBitTestAndSet64

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

Synchronization Functions