|
InterlockedBitTestAndSet 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 Bit );
Parameters
Base
A pointer to a variable.
Bit
The bit position to be tested.
Return Values
The function returns 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.
See Also