Apparently, the signature of this function has changed. When we used it under Visual Studio 6.0 it compiled correctly however, the following happens in MS VS 2008: The following error appears error C2664: 'InterlockedCompareExchange' : cannot convert parameter 2 from 'PVOID' to 'LONG' If I just do a cast, I get: error C2440: 'reinterpret_cast' : cannot convert from 'DWORD' to 'long'. Does anyone have any suggestions? Thanks in advance. Joseph (-: The preceding e-mail message (including any attachments) contains information that may be confidential, or constitute non-public information. It is intended only for the designated recipient. If you are not the named addressee, you should not disseminate, distribute or copy this e-mail. If you have received this e-mail by mistake, please notify the sender immediately by replying to this message and delete this e-mail from your system. Use, dissemination, distribution or reproduction of this message by unintended recipients is not authorized and may be unlawful.