缺少InterlockedPushListSList。它在哪里?

时间:2012-08-16 04:26:56

标签: winapi synchronization compiler-errors

我正在使用Visual Studio 2010 Ultimate,SP1在Windows Server 2008上开发。不幸的是,函数InterlockedPushListSList导致错误,因为我的WinBase.h副本中未定义错误。

我自己宣布这项功能不起作用;发生链接器错误。看起来这个函数没有在我的编译器的windows库中定义。但是与上面链接的文档表明它可用于我的操作系统。

一些谷歌搜索显示,自Windows Longhorn开发以来,API一直存在,虽然来自非官方source,所以从我的观点来看,它不应该有任何理由遗漏

此功能实际是否存在?如果是这样,我在哪里可以得到它?

1 个答案:

答案 0 :(得分:1)

我能够使用MSVC 2010和Windows SDK v7.0A重现您的问题。 WinBase.h中不存在InterlockedPushListSList。在声明它时,我首先也遇到链接错误......直到我意识到我忘记了extern "C" :-)。也许你也忘记了?如果我宣布

,我可以编译和链接
extern "C"
PSLIST_ENTRY  FASTCALL InterlockedPushListSList(
  _Inout_  PSLIST_HEADER ListHead,
  _Inout_  PSLIST_ENTRY List,
  _Inout_  PSLIST_ENTRY ListEnd,
  _In_     ULONG Count
);