_interlockedbittestandset function (winnt.h)
Tests the specified bit of the specified LONG value and sets it to 1. The operation is atomic.
BOOLEAN _interlockedbittestandset( [in] LONG volatile *Base, [in] LONG Offset );
A pointer to a variable.
The bit position to be tested.
The value of the specified bit.
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.
|Header||winnt.h (include Windows.h)|