ATL オブジェクトを作成できないようにする
クライアントがオブジェクトを直接作成できないように、ATL ベースの COM オブジェクトの属性を変更します。 この場合、オブジェクトは、直接作成されるのではなく、別のオブジェクトのメソッド呼び出しを通じて返されます。
オブジェクトを noncreatable にするには
オブジェクトの OBJECT_ENTRY_AUTO を削除します。 オブジェクトを noncreatable にするが、コントロールを登録されるようにするには、OBJECT_ENTRY_AUTO を OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO に置き換えます。
.idl ファイルの coclass に noncreatable 属性を追加します。 次に例を示します。
[uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851), helpstring("MyObject"), noncreatable] coclass MyObject { [default] interface IMyInterface; }
関連項目
ATL プロジェクト ウィザード
Visual Studio の C++ プロジェクトの種類
ATL および C ランタイム コードによるプログラミング
ATL COM オブジェクトの基礎
ATL プロジェクトの既定の構成