Generate the lock_btr instruction, which examines bit b of the address a and returns its current value.
unsigned char _interlockedbittestandreset( long *a, long b ); unsigned char _interlockedbittestandreset64( __int64 *a, __int64 b );
As a result of the lock_btr instruction, the bit is set to zero. The operation is atomic.
In Visual C++ 2005, these functions behave as read-write memory barriers. For more information, see _ReadWriteBarrier.
This routine is only available as an intrinsic.