Это гораздо более автоматически, чем предлагают другие ответы здесь.Весь стандартный код написан для вас Visual Studio.
Вам повезло, что у вас есть .idl, я думаю, он самый удобный, на мой взгляд.
Вы можете вставить содержимоефайл .idl в существующий файл .idl вашего проекта ATL COM, который даст вам доступ к объявлениям в нем.Например, что-то подобное может быть вставлено в файл IDL:
[
object,
uuid(ecaac0b8-08e6-45e8-a075-c6349bc2d0ac),
dual,
nonextensible,
helpstring("IJim Interface"),
pointer_default(unique)
]
interface IJim : IDispatch
{
[id(1), helpstring("method SpliceMainbrace")] HRESULT SpliceMainbrace(BSTR* avast);
};
Затем в представлении классов щелкните правой кнопкой мыши свой класс и выберите Add | Implement Interface
.
Обратите внимание, что в этом диалоговом окнена самом деле вы можете найти файл .tlb, но я думаю, что лучше иметь простой текстовый источник для этих вещей, для контроля версий и т. п.
Выберите IJim
из списка, нажмите >
кнопка, чтобы добавить его в список для реализации.Нажмите Готово .
Visual Studio добавит это в ваш класс (вместе с кучей других дерьмов, чтобы заставить его работать):
// IJim Methods
public:
STDMETHOD(SpliceMainbrace)(BSTR * avast)
{
// Add your function implementation here.
return E_NOTIMPL;
}