aggregatable
クラスが集約をサポートすることを示します。
[ aggregatable(
value
) ]
パラメーター
評価 します (省略可能)
COM オブジェクトがいつ集約できるかを示すパラメーター :は COM オブジェクトは集約することはできません。
割り当てられた COM オブジェクトを直接作成できます。また集計できます。これは、既定の設定です。
必ず COM オブジェクトを直接作成し集計できます。このオブジェクトの CoCreateInstance を呼び出すと集約オブジェクトの IUnknown インターフェイス (コントロールの IUnknown) を指定する必要があります。
解説
aggregatable C++ 属性に aggregatable の MIDL の属性と同じ機能があります。これはコンパイラで生成された .idl ファイルに aggregatable の属性を渡すことを意味します。
この属性は コクラスProgIDまたは vi_progid の属性 (そのうちの 1 つを意味する属性を適用することを同じ要素に必要です。の一つの属性が使用されそのほかの 2 つが自動的に適用されます。たとえばProgID が適用されている場合vi_progid と コクラス も適用されます。
ATL プロジェクト
この属性はATL を使用してプロジェクト内で使用する場合は属性の動作が変わります。前に説明した動作だけでなく属性もターゲット クラスに次のマクロに 1 を追加します :
パラメーター値 |
挿入するマクロ |
---|---|
なし |
|
許可 |
|
常時 |
使用例
// cpp_attr_ref_aggregatable.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"
[module(name="MyModule")];
[ coclass, aggregatable(allowed),
uuid("1a8369cc-1c91-42c4-befa-5a5d8c9d2529")]
class CMyClass {};
必要条件
属性コンテキスト
対象 |
クラス struct |
複数回の適用 |
X |
必要な属性 |
次の一つ以上 : コクラス ProgIDまたは vi_progid。 |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。