[Reference] DLL_PROCESS_DETACH is the last thing my DLL's going to see, right?

关于DLL内存释放的好文章
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,

详细

你可能感兴趣的:(reference)