intptr_t desired)
{
intptr_t old = *expected;
- *expected = InterlockedCompareExchangePointer(object, desired, old);
+ *expected = (intptr_t)InterlockedCompareExchangePointer(
+ (PVOID *)object, (PVOID)desired, (PVOID)old);
return *expected == old;
}