LoadLibraryEx错误87(参数不正确)

时间:2016-03-29 04:36:08

标签: c++ winapi loadlibrary

我的一个应用程序无法在唯一的计算机上加载系统lib。 LoadLibraryEx返回0 GetLastError返回87 (参数不正确)。

这会导致这样的错误,我该如何调试呢?

错误仅出现在属于我的客户端的单台计算机上(服务器2008R2)。 Libarary位于system32文件夹中。这是代码:

HMODULE lib = LoadLibraryEx(L"authui.dll", NULL,
                            LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_SEARCH_SYSTEM32);
if (lib == NULL)
{
    DWORD err=GetLastError();
    Log(L"error id: ", err);
    throw;
}

我无法在我的2008R2副本上重现错误,也不知道导致错误的原因。我的应用程序是用VS2015 C ++(纯WinApi,没有MFC或第三方库)编写的,它是64位。

1 个答案:

答案 0 :(得分:0)

Joel是对的。问题出在KB2533623更新中,问题机器上没有安装。我已将我的代码更改为使用绝对路径为David Heffernan推荐,现在它可以正常工作。