次の方法で共有


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

ATL シンプル オブジェクト ウィザードのこのページを使用して、オブジェクトに対して効率とエラーのサポートを向上させるために設計することができます。

ATL プロジェクトや ATL COM クラスの詳細については、「ATL COM デスクトップ コンポーネント」を参照してください。

  • スレッド モデル

    スレッドを管理するためのメソッドを示します。 既定では、プロジェクトでアパートメント スレッドが使用されます。

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

    オプション 説明
    Single オブジェクトが常にプライマリ COM スレッドで実行されることを指定します。 詳細については、「シングルスレッド アパートメント」と「InprocServer32」を参照してください。
    Apartment オブジェクトでアパートメント スレッドを使用することを指定します。 シングル スレッド アパートメントと同じです。 アパートメント スレッド コンポーネントの各オブジェクトには、オブジェクトの有効期間中、そのスレッドのアパートメントが割り当てられます。しかし、複数のオブジェクトに対して複数のスレッドを使用できます。 各アパートメントは特定のスレッドに関連付けられ、Windows メッセージ ポンプ (既定) があります。

    詳細については、「シングルスレッド アパートメント」を参照してください。
    両方 オブジェクトで、作成されるスレッドの種類に応じて、アパートメントまたはフリー スレッドのいずれかを使用できることを指定します。
    Free オブジェクトでフリー スレッドを使用することを指定します。 フリー スレッドは、マルチスレッド アパートメント モデルと同じです。 詳細については、「マルチスレッド アパートメント」を参照してください。
    Neutral オブジェクトはマルチスレッド アパートメントのガイドラインに従うものの、任意の種類のスレッドで実行できることを指定します。
  • 集約

    オブジェクトで集約を使用するかどうかを示します。 集約オブジェクトではクライアントに公開するインターフェイスを選択し、そのインターフェイスは、集約オブジェクトで実装された場合と同じように公開されます。 集約オブジェクトのクライアントは、集約オブジェクトとのみ通信します。

    オプション 説明
    はい オブジェクトを集約できることを指定します。 これが既定値です。
    いいえ オブジェクトが集約されないことを指定します。
    Only オブジェクトを集約する必要があることを指定します。
  • Interface

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

    オプション 説明
    デュアル オブジェクトでデュアル インターフェイス (その vtable にカスタム インターフェイス関数と遅延バインディング IDispatch メソッドがある) をサポートするように指定します。 COM クライアントとオートメーション コントローラーの両方に、オブジェクトへのアクセスを許可します。 これが既定値です。
    カスタム オブジェクトでカスタム インターフェイス (その vtable にカスタム インターフェイス関数がある) をサポートするように指定します。 カスタム インターフェイスは、特にプロセスの境界間で、デュアル インターフェイスよりも速い可能性があります。

    - オートメーション互換 カスタム インターフェイスのサポートがあるオブジェクトへのオートメーション コントローラーのアクセスを許可します。
  • サポート

    オブジェクトの追加のサポートを示します。

    オプション 説明
    ISupportErrorInfo オブジェクトがクライアントにエラー情報を返すことができるように、ISupportErrorInfo インターフェイスのサポートを作成します。
    接続ポイント オブジェクトのクラスを IConnectionPointContainerImpl から派生させて、オブジェクトの接続ポイントを有効にします。
    フリースレッド マーシャラー 同じプロセス内のスレッド間でインターフェイス ポインターを効率的にマーシャリングするための、フリースレッドのマーシャラー オブジェクトを作成します。 両方をスレッド モデルとして指定するオブジェクトで使用できます。
    IObjectWithSite (IE オブジェクトのサポート) IObjectWithSiteImpl を実装します。これは、コンテナー内のオブジェクトとそのサイト間の通信をサポートする簡単な方法を提供します。

関連項目

ATL シンプル オブジェクト ウィザード
ATL シンプル オブジェクト
インプロセスサーバーのスレッドの問題