What is the effect of InterlockedIncrement argument declared as volatile

c, c++, volatile, winapi

Solution

The probable effect is very minimal. The most likely intent is to allow users to pass `volatile`-qualified variables to these functions without the need for a typecast.

Problem

InterlockedIncrement and other Interlocked operations declare their arguments as volatile. Why? What is the intention and effect of this?

Original source

Related problems