LoadLibraryEx函数

时间:2012-07-13 15:48:12

标签: c++

我正在尝试使用LoadLibraryEx函数,但是它每次都失败并且没有给我任何正确的错误来知道出了什么问题。这是我的代码:

 HMODULE h;
        h = LoadLibraryEx("C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Include\\LMJoin.h", NULL, 0x00000008);
        if(h!=NULL)
        {
            if (::GetModuleHandleExW(0, L"LMJoin.h", &h))
            {
                typedef BOOL (WINAPI *PGET_DOMAIN_INFO)(wchar_t const**, wchar_t**, _NETSETUP_JOIN_STATUS*);
                PGET_DOMAIN_INFO getDomainInfo = (PGET_DOMAIN_INFO)GetProcAddress(h, "NetGetJoinInformation");
                if (NULL != getDomainInfo)
                {
                    nas = (getDomainInfo)(NULL, &lpNameBuffer, &BufferType);
                }
            }
            FreeLibrary(h);
        }
        else
        {
            TRACE_ERR("LMJoin.h Library could not be loaded\n",GetLastError());
        }

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:7)

LoadLibraryEx用于加载DLL文件,而不是头文件。 NetGetJoinInformation位于Netapi32.dll DLL中。它在Lmjoin.h (include Lm.h)中声明。

答案 1 :(得分:1)

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Include \ LMJoin.h是头文件而不是库。