Вместо этого используйте двойные интерфейсы. Напишите их объявление в IDL, чтобы вы могли создать библиотеку типов с помощью midl.exe. Что вы можете затем # import в клиентское приложение, которое автоматически генерирует оболочку на основе класса _com_ptr_t. Двойные интерфейсы генерируются автоматически при использовании мастера объектов ATL.