[オプション] (ATL シンプル オブジェクト ウィザード)

更新 : 2007 年 11 月

ATL シンプル オブジェクト ウィザードのこのページを使用して、オブジェクトの効率を向上させる機能とエラー サポートをデザインします。

2hb6ca3s.alert_note(ja-jp,VS.90).gifメモ :

デバイス プロジェクトでこのウィザードを使用する場合は、「ATL シンプル オブジェクト ウィザードの [オプション] のウィザード オプション」を参照してください。

ATL プロジェクトおよび ATL COM クラスの詳細については、「ATL リファレンス」を参照してください。

  • [スレッド モデル]
    スレッドの管理方法を指定します。既定では、プロジェクトは [アパートメント] スレッドを使用します。

    詳細については、「プロジェクトのスレッド モデルの指定」を参照してください。

    オプション

    説明

    Single

    オブジェクトが常にプライマリ COM スレッドで実行されるように指定します。詳細については、「Single-Threaded Apartments」および「InprocServer32」を参照してください。

    [アパートメント]

    オブジェクトでアパートメント スレッドを使用するように指定します。これはシングル スレッド アパートメントと同じ意味です。アパートメント スレッド コンポーネントの各オブジェクトには、オブジェクトの有効期間にスレッドに対するアパートメントが 1 つ割り当てられますが、複数のオブジェクトに対しては複数のスレッドを使用できます。各アパートメントは特定のスレッドに結び付けられ、Windows メッセージ ポンプが行われます (既定)。

    詳細については、「Single-Threaded Apartments」を参照してください。

    [両方]

    オブジェクトが作成されたスレッドの種類に応じて、アパートメント スレッドとフリー スレッドのいずれかをオブジェクトで使用できるように指定します。

    [フリー]

    オブジェクトでフリー スレッドを使用するように指定します。フリー スレッドはマルチスレッド アパートメント モデルと同じ意味です。詳細については、「Multithreaded Apartments」を参照してください。

    [ニュートラル] (Windows 2000 のみ)

    オブジェクトがマルチスレッド アパートメントのガイドラインに従うようにし、どの種類のスレッドにおいても実行できるように指定します。

  • [集約]
    オブジェクトで集約を使用するかどうかを指定します。集約オブジェクトはクライアントに公開するインターフェイスを選択します。そのインターフェイスは、集約オブジェクトによって実装されているものとして公開されます。集約オブジェクトのクライアントがやり取りするのは集約オブジェクトだけです。

    オプション

    説明

    [はい]

    オブジェクトが集約できるように指定します。既定値です。

    [いいえ]

    オブジェクトが集約されないように指定します。

    [アグリゲーションのみ]

    オブジェクトを必ず集約するように指定します。

  • [インターフェイス]
    オブジェクトがサポートするインターフェイスの種類を指定します。既定では、オブジェクトはデュアル インターフェイスをサポートします。

    オプション

    説明

    [デュアル]

    オブジェクトがデュアル インターフェイスをサポートするように指定します。オブジェクトの vtable にはカスタム インターフェイス関数と遅延バインディングの IDispatch メソッドが含まれます。COM クライアントとオートメーション コントローラの両方からオブジェクトにアクセスできます。既定値です。

    [カスタム]

    オブジェクトがカスタム インターフェイスをサポートするように指定します。オブジェクトの vtable にはカスタム インターフェイス関数が含まれます。特にプロセス間にまたがっている場合、カスタム インターフェイスはデュアル インターフェイスよりも高速です。

    • [オートメーション互換]   オートメーション コントローラを使用してカスタム インターフェイス サポートを含むオブジェクトにアクセスできます。

  • [サポート]
    オブジェクトのその他のサポートを指定します。

    オプション

    説明

    [ISupportErrorInfo]

    ISupportErrorInfo インターフェイスのサポートを作成して、オブジェクトからクライアントにエラー情報を返せるようにします。

    [コネクション ポイント]

    オブジェクトのクラスを IConnectionPointContainerImpl から派生させることによって、オブジェクトのコネクション ポイントを有効にします。

    [フリー スレッド マーシャラ]

    同一プロセス内のスレッド間のインターフェイス ポインタを効率的にマーシャリングするためのフリー スレッド マーシャラ オブジェクトが作成されます。スレッド モデルとして [両方] が指定されているオブジェクトで使用できます。

    [IObjectWithSite (IE オブジェクト サポート)]

    オブジェクトとコンテナ内のサイト間の通信をサポートする簡単な方法を提供する IObjectWithSiteImpl を実装します。

参照

処理手順

ATL シンプル オブジェクトの追加

参照

ATL シンプル オブジェクト ウィザード

In-Process Server Threading Issues