[英]instancing com object allowed in dllmain() / DLL_PROCESS_ATTACH?
在DLLMAIN()
/ DLL_PROCESS_ATTACH
加载DLL可能会引起麻烦。 但是,可以使用eq CoInitialize()/ CoCreateInstance()实例化COM Objects
吗?
编辑 :问题是:在这种情况下,创建COM实例是否会导致类似错误,例如加载DLL? 在我看来,加载DLL和创建COM实例的方式相似。
我不确定您从何处获得该报价,但听起来并不正确。
您永远不要在DllMain中放入任何有意义的代码。 特别是调用LoadLibrary的代码。 许多Windows API都会在后台调用LoadLibrary,因此最好避免在此处进行任何复杂的初始化。 使用全局C ++对象(用于其构造函数)或更佳的方法,导出函数进行初始化。
进程内组件的CoCreateInstance最终将调用LoadLibrary或其变体之一。 在DllMain中调用此函数也不是明智的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.