noncreatable 属性

[作成不可能] 属性は、単独ではインスタンス化できないオブジェクトを定義します。

[
  coclass-attribute-list, 
    noncreatable
]
coclass coclass-name
{
  coclass-interface-list
}

パラメーター

coclass-attribute-list

クラスに適用されるその他の属性。

coclass-name

クラスの名前。

coclass-interface-list

クラスのインターフェイスの一覧。

解説

このクラスの新しいオブジェクトを最上位レベル (CreateInstance または CoCreateInstance) で作成できないことをユーザーに示すには、コクラス ステートメントで [作成できない] 属性を使用します。 このクラスのオブジェクトのインスタンス化には、別のオブジェクトへのメソッド呼び出しが必要です。 たとえば、Microsoft Excel では、"Cell" オブジェクトは作成できず、Microsoft Excel Worksheet オブジェクトから取得する必要があります。

作成できないクラスのインスタンスを返すメソッドは、 VARIANT 型や IDispatch* 型ではなく、オブジェクトの正確な型を返す必要があります。

Typeflag Representation:

TYPEFLAG_FCANCREATEがない。

[
    uuid(12345678-1234-1234-1234-123456789ABC),
    helpstring("This is MyCOClass"),
    noncreatable
]
coclass MyCoClass
{
    [default] interface IMyClass;
    [default, source] dispinterface IMyClassEvents;
}

関連項目

coclass

ODL ファイルの構文

ODL ファイルの例

MIDL を使用したタイプ ライブラリの生成