_interlockedbittestandset function

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

Syntax

BOOLEAN _interlockedbittestandset(
  LONG volatile *Base,
  LONG          Offset
);

Parameters

Base

A pointer to a variable.

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

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

Note  This function is supported on Windows RT-based systems.
 

Requirements

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

See Also

Interlocked Variable Access

InterlockedBitTestAndReset

InterlockedBitTestAndReset64

InterlockedBitTestAndResetAcquire

InterlockedBitTestAndResetRelease

InterlockedBitTestAndSet64

InterlockedBitTestAndSetAcquire

InterlockedBitTestAndSetRelease

Synchronization Functions