'interface' : a 'attribute' interface must inherit from IDispatch, or from an interface that inherits from IDispatch
An interface with the dual or dispinterface attriubtes does not have IDispatch as a direct or indirect base interface.
The following code shows how this error would be generated:
// compile with cl /c #include <unknwn.h> #pragma keyword("interface", on) [ com, custom, uuid("77ac9240-6e9a-11d2-97de-0000f805d73b") ] interface IMyCustomInterface { HRESULT mf1(void); }; [ com, dispinterface, uuid("3536f8a0-6e9a-11d2-97de-0000f805d73b") ] interface IMyDispInterface : IUnknown { HRESULT mf2(void); }; [ com, dual, uuid("34e90a10-6e9a-11d2-97de-0000f805d73b") ] interface IMyDualInterface : IMyCustomInterface { HRESULT mf3(void); };