Я пытаюсь реализовать интерфейс обратного вызова с COM techonlogy и иметь IDL, как это:
library LogstreamScannerLib
{
importlib("stdole2.tlb");
[
uuid(8CACF064-EF0E-4496-92D5-F26C64A5858A)
]
dispinterface _IMyClassEvents
{
properties:
methods:
[id(1)] void SomeMethod([in] int data);
};
[
uuid(AFC03FCD-01A9-4F38-994F-BA98E57FF64E)
]
coclass MyComClass
{
[default] interface IMyClass;
[default, source] dispinterface _IMyClassEvents;
};
};
Обратите внимание, что в IMyClass есть объявление SomeMethod, но я не могу понять, почему оно не появляется в моих автоматически сгенерированных классах, когда я перекомпилирую / пересобираю проект.
Он всегда объявляется пустым:
MIDL_INTERFACE("8CACF064-EF0E-4496-92D5-F26C64A5858A")
_IMyClassEvents : public IDispatch
{
};
Что я тут не так делаю?