InterlockedBitTestAndComplement64 function

Tests the specified bit of the specified LONG64 value and complements it. The operation is atomic.


BOOLEAN __cdecl InterlockedBitTestAndComplement64(
  _Inout_ LONG64 volatile *Base,
  _In_    LONG64          Bit


  • Base [in, out]
    A pointer to a variable.

  • Bit [in]
    The bit position to be tested.

Return value

The value of the specified bit.


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 generates a full memory barrier (or fence) to ensure that memory operations are completed in order.

Note  This function is only supported as inline code, it does not correspond to an intrinsic function.



Minimum supported client

Windows 8 [desktop apps only]

Minimum supported server

Windows Server 2012 [desktop apps only]


Winnt.h (include Windows.h)

See also

Interlocked Variable Access


Synchronization Functions