次の方法で共有


ATL オブジェクトを作成できないようにする

ATL ベースの COM オブジェクトの属性を変更して、クライアントがオブジェクトを直接作成できないように指定できます。 この場合、オブジェクトは直接作成されるのではなく、ほかのオブジェクトに対するメソッド呼び出しを通じて返されます。

オブジェクトを作成できないようにするには

  1. オブジェクトの OBJECT_ENTRY_AUTO を削除します。 オブジェクトは作成できないようにして、コントロールを登録する場合は、OBJECT_ENTRY_AUTO を OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO に置き換えます。

  2. .idl ファイルのコクラスに属性 noncreatable を追加します。 以下に例を示します。

    [
       uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851),
       helpstring("MyObject"),
      noncreatable
    ]
    coclass MyObject
    {
       [default] interface IMyInterface;
    }
    

参照

処理手順

アプリケーション ウィザードを使用したプロジェクトの作成

参照

ATL プロジェクト ウィザード

ATL COM オブジェクトの基本事項

ATL プロジェクトの既定の構成

概念

Visual C++ プロジェクト

ATL および C ランタイム コードによるプログラミング