InterlockedBitTestAndReset function
Tests the specified bit of the specified LONG value and sets it to 0. The operation is atomic.
Syntax
UCHAR 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
- InterlockedBitTestAndResetAcquire
- InterlockedBitTestAndResetRelease
- InterlockedBitTestAndReset64
- InterlockedBitTestAndSet
- InterlockedBitTestAndSetAcquire
- InterlockedBitTestAndSetRelease
- InterlockedBitTestAndSet64
- Synchronization Functions