Что требуется для включения маршалинга для интерфейса COM?

У меня есть 32-битный компонент ATL COM без библиотеки типов. У него есть фабрика классов для одного данного класса, которая реализует несколько интерфейсов.

Когда я использую его в качестве внутрипроцессного сервера, все работает нормально - на стороне клиента вызывается CoCreateInstance (), создается объект, а QueryInterface () получает указатель на запрошенный интерфейс. Но когда я помещаю компонент в COM +, я больше не могу создать экземпляр класса - CoCreateInstance () теперь возвращает E_NOINTERFACE.

Я считаю, что проблема в том, что COM + не может выполнить маршалинг из-за отсутствия библиотеки типов - он не знает, как это сделать. Нужно ли сгенерировать и зарегистрировать библиотеку типов для решения этой проблемы или есть какой-либо другой способ?

Ответы на вопрос(2)

Ваш ответ на вопрос