source (C++)

クラスで、接続ポイントの COM オブジェクトのソース インターフェイスを指定します。 プロパティまたはメソッドで、メンバーがイベントのソースであるオブジェクトまたは VARIANT を返します。

構文

[ source(interfaces) ]

パラメーター

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

解説

source C++ 属性には、source MIDL 属性と同じ機能があります。

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
{
};

必要条件

属性コンテキスト Value
適用対象 classstructインターフェイス
反復可能 いいえ
必要な属性 coclass (クラスまたは構造体に適用される場合)
無効な属性 なし

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

関連項目

IDL 属性
クラス属性
メソッド属性
coclass