Я программист Linux и новичок в программировании COM, и я унаследовал программу, которую сейчас пытаюсь изменить. У меня есть файл IDL со следующим интерфейсом, и я пытаюсь настроить обратный вызов в C ++. Я искал в Интернете и нашел некоторые вещи с точками подключения, но я не вижу простого примера, которому я мог бы следовать, поэтому мне было интересно, кто-то может мне помочь.
Диспинтерфейс:
[
helpstring("Event interface"),
helpcontext(0x00000006)
]
dispinterface _DEvents {
properties:
methods:
[id(0x00000001), helpstring("Occurs when about to begin."), helpcontext(0x0000000d)]
void Starting();
[id(0x00000002), helpstring("Occurs at the beginning."), helpcontext(0x00000011)]
void Begin();
[id(0x00000003), helpstring("Occurs at the end."), helpcontext(0x00000012)]
void End();
};
кокласс:
[
helpstring("C Class"),
helpcontext(0x0000009e)
]
coclass C {
[default] interface IE;
[default, source] dispinterface _DEvents;
};
Интерфейс мойки:
[
odl
]
interface INotifySink : IUnknown {
HRESULT _stdcall Starting();
HRESULT _stdcall Begin();
HRESULT _stdcall End();
};
Я нашел эти две статьи, но не могу сделать из них головы или хвосты:
Я полагаю, мне нужно создать новый класс, который расширяет INotifySink и реализует функции, но что мне делать после этого?
Спасибо,
Jayen
P.S. Дайте мне знать, если мне потребуется предоставить больше информации, и я отредактирую этот вопрос. Спасибо.