COM サーバーの責任

クライアントがオブジェクトへのポインターを取得する最も重要な方法の 1 つは、クライアントがサーバーの起動を要求し、サーバーによって提供されるオブジェクトのインスタンスを作成してアクティブ化することです。 これが正しく行われるようにするのは、サーバーの責任です。 これにはいくつかの重要な部分があります。

サーバーは、IClassFactory または IClassFactory2 インターフェイスの実装を通じてクラス オブジェクトのコードを実装する必要があります。

サーバーは、その CLSID を、そのサーバーが存在するコンピューター上のシステム レジストリに登録する必要があります。さらに、そのマシンの場所をネットワーク上の他のシステムに公開して、クライアントがサーバーの場所を知らなくても呼び出せるようにするオプションがあります。

サーバーは主にセキュリティを担当します。つまり、ほとんどの場合、サーバーはクライアントにオブジェクトの 1 つへのポインターを提供するかどうかを決定します。

インプロセス サーバーでは、クライアント プロセスでインスタンス化できる特定の関数を実装してエクスポートする必要があります。

次のトピックでは、COM サーバーの役割について詳しく説明します。

サーバーとクライアント