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 に適用する場合) |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。