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