私は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
{
};
私がここで間違っていることは何ですか?