_InterlockedExchangeAdd Intrinsic

The _InterlockedExchangeAdd intrinsic has the following declaration:

int _InterlockedExchangeAdd(int *, int);

This intrinsic function performs an interlocked add of the second argument to the longword-aligned integer specified by the first argument. The intrinsic returns the previous value of the memory location specified by the first argument. This intrinsic contains required memory barriers.