我正在尝试使用以下代码:
LoadLibraryExA(filename.c_str(), NULL, DONT_RESOLVE_DLL_REFERENCES);
从本机程序集加载C ++ \ CLR dll。
返回的HMODULE
为NULL
,GetLastError
返回 - 193
,表示is not a valid win32 application
如何正确加载库?我究竟做错了什么? 谢谢! 罗恩
答案 0 :(得分:0)
如果这是一个混合模式DLL,如您的注释所示,那么ERROR_BAD_EXE_FORMAT
的通常解释是主机进程的位数与DLL的位数不匹配。您正在尝试将32位DLL加载到64位进程中,反之亦然。
如果您有匹配的位数,那么最可能的解释是DLL是托管DLL而不是混合模式DLL。