Windows 98 did not support 64bit, so void*
and LONG
are the same byte size. Most OSes actually use the LONG
definition, but if VC6 is using `void* then simply type-cast where needed:
LONG value;
LONG ret = (LONG) InterlockedCompareExchange((void**)&value, (void*)ExchangeValue, (void*)CompareValue);