Я почти уверен, что вам не нужно предоставлять собственный прокси / заглушку dll, если вы ограничиваете свой интерфейс (ы) типами, совместимыми с автоматизацией. В этом случае система может использовать маршалер автоматизации и не нуждается в дополнительной помощи. Я считаю, что типы, совместимые с автоматизацией, - это типы, которые могут вписываться в VARIANT
, например простые типы POD, BSTR
s и т. п.
Я нашел эту статью базы знаний , в которой обсуждается маршалер автоматизации, хотя она не предназначена специально для вашего вопроса. Это действительно список совместимых типов, по крайней мере. В нем также упоминается, что вам необходимо конкретно указать маршалера автоматизации при регистрации для вашего компонента, но, по моему опыту, это не обязательно - ваш пробег может отличаться.
Наконец, вам может понадобиться реализовать IProvideClassInfo; Я обычно использую реализацию, предоставленную ATL.