source (C++)

クラスでは、COM オブジェクトのコネクション ポイント用ソース インターフェイスを指定します。プロパティまたはメソッドでは、イベントのソースであるオブジェクトあるいは VARIANT がメンバから返されることを示します。

[ source(
      interfaces
) ]

パラメータ

  • interfaces
    クラスにソース属性を適用するときに指定する 1 つ以上のインターフェイス。ソースをプロパティまたはメソッドに適用する場合、このパラメータは使用されません。

解説

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

default 属性を使用すると、オブジェクトの既定のソース インターフェイスを指定できます。

使用例

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

[object, uuid(11111111-1111-1111-1111-111111111111)]
__interface b
{
   [id(0), propget, bindable, displaybind, defaultbind, requestedit]
   HRESULT get_I([out, retval]long *i);
};

[object, uuid(11111111-1111-1111-1111-111111111131)]
__interface c
{
   [id(0), propget, bindable, displaybind, defaultbind, requestedit] 
   HRESULT et_I([out, retval]long *i);
};

[coclass, default(c), uuid(11111111-1111-1111-1111-111111111132)]
class N : public b
{
};

[coclass, source(c), default(b, c), uuid(11111111-1111-1111-1111-111111111133)]
class NN : public b
{
};

必要条件

属性コンテキスト

対象

class、struct、interface

複数回の適用

不可

必要な属性

coclass (class または struct に適用する場合)

無効な属性

なし

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

参照

概念

IDL 属性

クラス属性

メソッド属性

coclass

ATL サンプル