如何在Visual C ++中为COM对象定义非默认构造函数?
这样的事情是否可能?
或者您是否必须构造默认对象并使用init(params)
方法进行配置?
答案 0 :(得分:3)
用C ++实现的COM coclasses不能有一个带参数的构造函数。 CoCreateObject()函数是创建coclass实例的主要方法,它没有任何传递参数的方法。与IClassFactory :: CreateInstance()(基础方法)相同。
所以是的,不可能,你需要一个Initialize()方法。验证它被调用的代码,带有正确的IErrorInfo消息的E_UNEXPECTED是样板文件。