다음을 통해 공유


컴파일러 오류 C3138

'interface': 'attribute' 인터페이스는 IDispatch 또는 IDispatch에서 상속되는 인터페이스에서 상속되어야 합니다.

이중 또는 dispinterface 특성이 있는 인터페이스에는 IDispatch 직접 또는 간접 기본 인터페이스가 없습니다.

다음 예제에서는 C3138을 생성합니다.

// C3138.cpp
#include <unknwn.h>

[ object, uuid("77ac9240-6e9a-11d2-97de-0000f805d73b") ]
__interface IMyCustomInterface
{
   HRESULT mf1(void);
};

[ dispinterface, uuid("3536f8a0-6e9a-11d2-97de-0000f805d73b") ]
__interface IMyDispInterface : IUnknown
{
   [id(1)] HRESULT mf2(void);
};

[ object, dual, uuid("34e90a10-6e9a-11d2-97de-0000f805d73b") ]
__interface IMyDualInterface : IMyCustomInterface  // C3138 expected
{
   HRESULT mf3(void);
};