次の方法で共有


defaultvtable

インターフェイスを COM オブジェクトの既定の vtable インターフェイスとして定義します。

[ defaultvtable(
      interface
) ]

パラメータ

  • interface
    COM オブジェクトの既定の vtable インターフェイスとして指定するインターフェイス。

解説

C++ 属性 defaultvtable の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 defaultvtable と同じです。

使用例

defaultvtable を使用して既定のインターフェイスを指定するクラスの属性を示すコードは次のとおりです。

// cpp_attr_ref_defaultvtable.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];

[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface IMyI1 {
   HRESULT x();
};

[object, uuid("00000000-0000-0000-0000-000000000002")]
__interface IMyI2 {
   HRESULT x();
};

[object, uuid("00000000-0000-0000-0000-000000000003")]
__interface IMyI3 {
   HRESULT x();
};

[coclass, source(IMyI3, IMyI1), default(IMyI3, IMyI2), defaultvtable(IMyI1),
uuid("00000000-0000-0000-0000-000000000004")]
class CMyC3 : public IMyI3 {};

必要条件

属性コンテキスト

対象

class、struct

複数回の適用

不可

必要な属性

coclass

無効な属性

なし

詳細については、「属性コンテキスト」を参照してください。

参照

概念

IDL 属性

クラス属性

ATL サンプル