noncreatable
単独ではインスタンス化できないオブジェクトを定義します。
[noncreatable]
解説
作成 C++ 属性に 作成 の MIDL の属性と同じ機能を持ちますが生成された .IDL ファイルにコンパイラが自動的に渡されます。
この属性はATL を使用してプロジェクト内で使用するときは属性の動作が変わります。上記の動作に加えて属性も OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO マクロを挿入します。このマクロを ATL オブジェクトには外部で作成できないことを示します。
使用例
// cpp_attr_ref_noncreatable.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];
[object, uuid("11111111-1111-1111-1111-111111111111")]
__interface A
{
};
[coclass, uuid("11111111-1111-1111-1111-111111111112"), noncreatable]
class CMyClass : public A
{
HRESULT xx();
};
必要条件
属性コンテキスト
対象 |
クラス struct |
複数回の適用 |
X |
必要な属性 |
コクラス |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。