---
name: "InterlockedExchange"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.0.1-3.1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/InterlockedExchange"
---

# InterlockedExchange(3w)

## NAME

**InterlockedExchange** (KERNEL32.@)

## SYNOPSIS

LONG InterlockedExchange\
  (\
   LONG volatile\* *dest*,\
   LONG           *val*\
  )

## DESCRIPTION

Atomically swap one value with another.

## PARAMS

*dest* **\[In/Out\]**  The value to replace.

*val* **\[In\]**  The value to be swapped.

## RETURNS

The resulting value of *dest*.

## IMPLEMENTATION

Defined in **"winbase.h"**.

Implemented in **"dlls/kernel32/sync.c"**.

Debug channel **"sync"**.
