LoadLibrary error
I need to dynamically load a dll, grab some function pointers and do stuff; simple stuff, done it 100s of times before. I decide that this time I’ll wrap the HMODULE
that I’ll need in a class to make sure I can never forget to call FreeLibrary()
on it - RAII is your friend. It’s Sunday, I’m feeling righteous so I’m doing it in a TDD style. I write some tests, load a dll, load a bad dll to check error handling, load a dll that doesn’t exist…
So, what do you expect happens when you call LoadLibrary()
on a file that isnt a valid dll or exe image?
Well, the docs say this:
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
What they don’t tell you is that you actually get this;

SayWhat
and then, when someone presses the button, you get NULL
returned… How crap is that.