Winapi InterlocatedCompareeExchange指针的类型错误?

Winapi InterlocatedCompareeExchange指针的类型错误?,winapi,visual-c++,Winapi,Visual C++,此函数正在比较和交换指针本身,但使用指向易失性数据的指针,而不是使用易失性指针。这真的是错的吗?我是否需要使用#ifdef和InterlocatedCompareExchange[64]来代替?或者我有什么误解?类型是正确的。在您的头脑中,您可以将PVOID类型更改为其他类型,它应该更有意义,(SIZE\u T volatile*,SIZE\u T,SIZE\u T)等。说它需要PVOID volatile*-这是指向volatile指针的指针,应该是这样的。将参数本身设置为volatile是没

此函数正在比较和交换指针本身,但使用指向易失性数据的指针,而不是使用易失性指针。这真的是错的吗?我是否需要使用#ifdef和InterlocatedCompareExchange[64]来代替?或者我有什么误解?

类型是正确的。在您的头脑中,您可以将
PVOID
类型更改为其他类型,它应该更有意义,
(SIZE\u T volatile*,SIZE\u T,SIZE\u T)
等。

说它需要
PVOID volatile*
-这是指向volatile指针的指针,应该是这样的。将参数本身设置为volatile是没有意义的,因为它是一个局部变量,不能在线程之间共享。
PVOID
指针
Destination
指向被交换的目标,这是正确标记的
volatile
。谢谢。我知道我一定是遗漏了什么。如果可以的话,我建议你用它来做这个用途,它会在封面下处理所有这些。