InterlockedBitTestAndSet
            InterlockedBitTestAndSet tests the specified bit of the specified LONG value and sets it to 1. The operation is atomic.
Syntax
BOOL InterlockedBitTestAndSet(
        LONG volatile *Base,
        LONG           Bit
);
                Parameters
Base
A pointer to a variable.
Bit
The bit position to be tested.
Return Value
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 the proper sequence.
Requirements
| Minimum supported version | Header | Library | 
|---|---|---|
| 
                             eRTOS 1.0 SDK  | 
                        
                             windows.h  | 
                        rtkrnl.lib | 
See Also