_interlockedbittestandset64 function (winnt.h)

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

Syntax

BOOLEAN _interlockedbittestandset64(
  [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 before it is set.

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 _interlockedbittestandset64.

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

InterlockedBitTestAndReset64

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

Synchronization Functions