Applies to: desktop apps only
Tests the specified bit of the specified LONG value and sets it to 0. The operation is atomic.
Syntax
BOOLEAN WINAPI InterlockedBitTestAndReset( __in LONG volatile *Base, __in LONG Bit );
Parameters
- Base [in]
-
A pointer to a variable.
- Bit [in]
-
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 _interlockedbittestandreset.
This function generates a full memory barrier (or fence) to ensure that memory operations are completed in order.
Requirements
|
Header |
|
|---|
See also
- Interlocked Variable Access
- InterlockedBitTestAndReset64
- InterlockedBitTestAndSet
- InterlockedBitTestAndSet64
- Synchronization Functions
Send comments about this topic to Microsoft
Build date: 3/7/2012
LONG lData[4] = {0,0,0,0};
InterlockedBitTestAndSet( &lData[0], sizeof(LONG)*8);
Developers, watch your bit numbers to prevent buffer overflows!