_InterlockedCompareExchange

This function atomically compares a variable value to a comparison value, and exchanges the value of Destination with Exchange if they are the same. The function prevents more than one thread from using the same variable simultaneously.

InterlockedCompareExchange(
  PVOID* Destination,
  PVOID ExChange,
  PVOID Comperand
);

Parameters

  • Destination
    [out] Pointer to the value that the function compares to Comperand.
  • ExChange
    [in] Value used to replace contents of Destination if necessary.
  • Comperand
    [in] Standard value used for comparison to the value in Destination.

Return Values

Initial value of the variable pointed to by Destination.

Remarks

The interlocked functions provide a simple mechanism for synchronizing access to a variable that is shared by multiple threads. The threads of different processes can use this mechanism if the variable is in shared memory.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Mipsintr.h.

See Also

Common Intrinsic Functions | Intrinsic Functions for MIPS Microprocessors

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.