Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loadlibrary always return NULL

HINSTANCE hinstLib=LoadLibrary("C:\\mydll.dll");

I have no idea why I always get 0 in return after running that line of code.

Actually I have also another COM dll namely mydllCOM.dll that I already registered successfully with regsvr32 command. I would like to use the above (mydll.dll) in my application but always fail at the line as mentioned.

The error code I got from GetLastError is 193 and I have no idea, why it is about the wrong type of dll

like image 233
user3462253 Avatar asked Mar 27 '14 09:03

user3462253


2 Answers

The error code looks like it has the "wrong bitness", meaning you're probably mixing 32-bit and 64-bit executables/DLLs. The setting in the Project properties "Linker->Advanced->Target Machine" should be set to the same value in your DLL and in the executable loading that DLL.

like image 130
okaerin Avatar answered Nov 02 '22 01:11

okaerin


I had a similar problem but with a dll that wasn't mine. The solution was to change the Character set(i.e. Project properties->configuration Properties->general->Character set). The default was unicode and when I changed it to multi-Byte i managed to load the dll.

like image 23
TBD Avatar answered Nov 02 '22 01:11

TBD