That DLL is violating the “It is not safe to call FreeLibrary from a DllMain routine” stricture, because
(a) There’s no way of knowing if CoInitialize has been called on the current thread – COM might not be initialized currently.
(b) It’s possible that the call to ComObject->Release() would cause FreeLibrary to be called,
详细