我正在使用Visual Studio 2010 Ultimate SP1在Windows Server 2008机器上进行开发。不幸的是,函数 InterlockedPushListSList
导致错误,因为在我的WinBase.h
副本中未定义该函数。
自己声明该功能无效;发生链接器错误。看来该函数未在Windows库中为我的编译器定义。但是链接到上面的文档指出它可以用于我的操作系统。
一些谷歌搜索发现该API自Windows Longhorn开发以来就已经存在,尽管它来自非官方的source,所以从我的观点来看,应该没有任何理由会丢失它。
这个功能真的存在吗?如果是这样,我在哪里可以得到它?
最佳答案
我能够重现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
);
https://stackoverflow.com/questions/11980721/