COM+ アプリケーションの一部
COM+ アプリケーションは、1 つ以上の COM コンポーネントで構成されています。
以下の用語は、COM+ ドキュメント全体で使用されています。
-
COM コンポーネント
-
COM オブジェクトを作成するコードのバイナリ単位 (パッケージ化と登録コードを含む)。
-
COM オブジェクト
-
COM クラスのインスタンス。
-
COM クラス
-
1 つ以上のインターフェイスの名前付きの具象実装。 COM クラスは、CLSID によって識別されます (ProgID によって識別されることもあります)。
-
COM インターフェイス
-
コントラクトを指定する COM クラスによって公開される関連メソッド関数のグループ。 これには、名前、インターフェイス シグネチャ、インターフェイス セマンティクス、マーシャリング バッファー形式が含まれます。 インターフェイスは、IID によって識別されます。 インターフェイス構文は、IDL やタイプ ライブラリで定義されます。 COM クラスのインターフェイスは、管理可能で一貫性のある一連のメソッドに分割する必要があります。
COM インターフェイスは不変です。COM コントラクトは、変更できないことを示しています。 変更 (メソッドの追加など) するには、新しいインターフェイスを定義する必要があります。
-
COM メソッド
-
COM インターフェイスによって提供される一連の関連関数のいずれか。
構成済みコンポーネントと未構成コンポーネント
COM+ アプリケーションによってサポートされるサービスを利用するため、COM+ 環境では、COM+ アプリケーション用に構築された COM コンポーネントに特定の要件が適用されます。 COM+ アプリケーションに追加されると、COM コンポーネントは構成済みコンポーネントと呼ばれます。
COM+ アプリケーション用に構築された COM コンポーネントは、インプロセス サーバー コンポーネントです。 コンポーネントに実装されているすべてのクラスを記述し、コンポーネント内のすべてのクラスでインターフェイスを宣言するには、コンポーネントにタイプ ライブラリ (.tlb ファイル) が含まれている必要があります。 これらのコンポーネントは、Microsoft Visual Basic、Microsoft Visual C++、または COM 互換の開発ツールを使って作成および実装できます。
未構成コンポーネントは、COM+ アプリケーションにインストールされていないコンポーネントです。 ほとんどの未構成コンポーネントは、COM+ アプリケーションに統合するだけで、構成済みコンポーネントに変換することができます。
Note
COM+ アプリケーションと未構成コンポーネントのレジストリの両方に同じ AppID を使用しないでください。 未構成コンポーネントがアクティブ化されると、アクティブ化により、COM のアクティブ化に必要な情報が含まれていない COM+ アプリケーション情報がレジストリから取得されることがあります。 COM+ サーバー アプリケーションをホストする DllHost から CoRegisterClassObject に対して呼び出しを行った場合、同様の問題が発生する可能性があります。