COM对象的非默认构造函数

时间:2011-12-15 14:20:32

标签: visual-c++ object com constructor

如何在Visual C ++中为COM对象定义非默认构造函数?

这样的事情是否可能?

或者您是否必须构造默认对象并使用init(params)方法进行配置?

1 个答案:

答案 0 :(得分:3)

用C ++实现的COM coclasses不能有一个带参数的构造函数。 CoCreateObject()函数是创建coclass实例的主要方法,它没有任何传递参数的方法。与IClassFactory :: CreateInstance()(基础方法)相同。

所以是的,不可能,你需要一个Initialize()方法。验证它被调用的代码,带有正确的IErrorInfo消息的E_UNEXPECTED是样板文件。