Это может быть невозможно. COM предоставляет спецификацию интерфейса, но не гарантирует, что вызывающая сторона сможет правильно использовать интерфейс. Если объект COM не предоставляет методы, которые автоматически маршалируются подсистемой COM (например, совместимы с автоматизацией), вы не сможете их использовать. Можно легко написать COM-объект C ++, к которому нельзя напрямую получить доступ вне процесса или с помощью любого языка, кроме C ++.
Возможно, вам удастся написать собственный маршалинг-код, чтобы он работал, но я не думаю, что он будет работать напрямую. Если типы достаточно простые / прямые, могут быть некоторые встроенные маршальные атрибуты, чтобы заставить его работать; Однако я не очень разбираюсь в этой области, так что, надеюсь, другие люди могут помочь.