I think this is from using the include files from W2K, perhaps
from the Microsoft Web & Internet samples preview. 

The MSVC6 Definition in winbase.h

WINBASEAPI
PVOID
WINAPI
InterlockedCompareExchange (
    PVOID *Destination,
    PVOID Exchange,
    PVOID Comperand
    );

is defined as this in include\nt50\winbase.h

WINBASEAPI
LONG
WINAPI
InterlockedCompareExchange (
    IN OUT LPLONG Destination,
    IN LONG Exchange,
    IN LONG Comperand
    );

include\nt50\windef.h defines

typedef long far *LPLONG;
#define IN
#define OUT

[EMAIL PROTECTED],Andy Heninger <[EMAIL PROTECTED]> wrote:
> Try it again.

I removed the DEVENV_VCPP preprocessor variable, which was not being set
consistently anyway.
The inline assembly will now always be used when compiling with MSVC, which
should sidestep the problem of inconsistent definitions of
InterlockedCompareExchange.

But I'm still curious as to where the different definitions came from.

  -- Andy


Reply via email to