Ted Phelps wrote:
That really depends upon the SDK used. For VC6 all I have available is the included SDK which casts to PVOID *, so I used void **.It should work fine so long as sizeof(LONG) == sizeof(void *), which I think will be the case for any version of Visual Studio which doesn't provide InterlockedCompareExchangePointer. Your cast is wrong -- you should be casting to a (LONG *) rather than a (void **) -- but otherwise I think it's fine.
Rob