我尝试用 COM 技术实现回调接口,并有这样的 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
{
};
我在这里做错了什么?