_InterlockedExchange expects a volatile LONG