Как вы определяете конструктор не по умолчанию для COM-объекта в Visual C++?Нестандартные конструкторы для COM-объектов
Возможно ли такое?
Или вам нужно создать объект по умолчанию и использовать метод init(params)
для его настройки?
Как вы определяете конструктор не по умолчанию для COM-объекта в Visual C++?Нестандартные конструкторы для COM-объектов
Возможно ли такое?
Или вам нужно создать объект по умолчанию и использовать метод init(params)
для его настройки?
COM-классы, реализованные на C++, не могут иметь конструктор, который принимает аргумент. Функция CoCreateObject(), основной способ создания экземпляра coclass, не имеет способа передать аргументы. То же самое с IClassFactory :: CreateInstance(), основным методом.
Так что да, это невозможно, вам понадобится метод Initialize(). И код для проверки того, что он был вызван, E_UNEXPECTED с приличным сообщением IErrorInfo является шаблоном.