COM サーバー

提供: RAD Studio
移動先: 案内検索

COM アプリケーションの各部分 への移動


COM サーバーは、クライアントのアプリケーションまたはライブラリにサービスを提供するアプリケーションまたはライブラリです。COM サーバーは、1 つ以上の COM オブジェクトで構成され、COM オブジェクトは一連のプロパティとメソッドで構成されます。

クライアントは、COM オブジェクトが自分のサービスをどのようにして実行するかを知りません。オブジェクトの実装はカプセル化されたままです。オブジェクトは、インターフェイスを通じて自分のサービスを提供します。

さらに、クライアントは、COM オブジェクトがどこに存在するかを知る必要もありません。COM を使用すると、オブジェクトの場所に関係なく、透過的にアクセスすることができます。

クライアントは、COM オブジェクトにサービスを要求するときに、クラス識別子(CLSID)を COM に渡します。CLSID は、COM オブジェクトを特定するためのただの GUID です。COM は、システム レジストリに登録されたこの CLSID を使用して、適切なサーバー実装を探します。サーバーが見つかると、COM はそのコードをメモリに読み込んで、そのクライアント用のオブジェクト インスタンスをサーバーに作成させます。この処理は、要求に応じてオブジェクトのインスタンスを作成する(インターフェイスに基づく)クラス ファクトリと呼ばれる特殊なオブジェクトを介して、間接的に行われます。

COM サーバーは、最低でも以下を行う必要があります。

  • サーバー モジュールとクラス識別子(CLSID)を関連付けるエントリをシステム レジストリに登録する。
  • 特定の CLSID の別のオブジェクトを作成するクラス ファクトリ オブジェクトを実装する。
  • クラス ファクトリを COM に公開する。
  • クライアントにサービスを提供していないサーバーをメモリから削除するためのアンロード メカニズムを提供する。

メモ: Delphi では、ウィザードにより COM オブジェクトとサーバーの作成を自動化しています。

関連トピック

関連項目