リモート オブジェクトの検索

分散システムに対する COM の出現により、COM は COM クラス オブジェクトと CLSID で説明されているオブジェクト作成に基本的なモデルを使用して、クライアント アプリケーションに過剰な負荷をかけずに、ネットワーク内の別のシステムに存在する可能性があるオブジェクトを見つける方法を複数追加します。

COM には、サーバーが常駐するマシンの名前、または既存のストレージが配置されているマシンの名前を登録できるようにするレジストリ キーが追加されました。 そのため、クライアント アプリケーションは、サーバーの CLSID のみを認識する必要があります。

ただし、必要な場合、COM は CoGetClassObject の以前に予約されたパラメーターを COSERVERINFO 構造体に置き換えました。これにより、クライアントはサーバーの場所を指定できます。 CoGetClassObject 関数のもう 1 つの重要な値は CLSCTX 列挙です。これは、想定されるオブジェクトをインプロセス、アウトプロセス ローカル、またはアウトプロセス リモートのどちらで実行するかを指定します。 これら 2 つの値とレジストリ内の値を組み合わせると、オブジェクトがどこでどのように実行されるかが決まります。

Note

インスタンス作成呼び出しでサーバーの場所を指定すると、レジストリ設定がオーバーライドされることがあります。 これを行う際に COM が使用するアルゴリズムについては、CLSCTX 列挙型のリファレンスで説明されています。

 

リモート ライセンス認証は、クライアントとサーバーの間のセキュリティ関係によって異なります。 詳細については、「COM におけるセキュリティ」を参照してください。

COM クラス オブジェクトと CLSID

クラス オブジェクトを使用したオブジェクトの作成