次の方法で共有


DllSurrogate

DLL サーバーをサロゲート プロセスで実行できるようにします。 空の文字列が指定されている場合は、システム指定のサロゲートが使用されます。それ以外の場合、値は使用するサロゲートのパスを指定します。

レジストリ エントリ

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      DllSurrogate = path

備考

これは、クラスがサロゲート プロセスおよび使用するサロゲート プロセスでアクティブ化される DLL であることを指定する REG_SZ 値です。 システム提供の汎用サロゲート プロセスを使用するには、パス を空の文字列に設定するか、または NULL します。 別のサロゲート プロセスを指定するには、パス サロゲートのパスに設定します。 LocalServer32 キーの下にあるサーバーのパスの指定と同様に、完全パスの指定は必要ありません。 カスタム サロゲート の作成に関するページで説明されているように、サロゲートを DCOM サービスと適切に通信するには、記述する必要があります。

dll サーバーをサロゲートでアクティブにするには、DllSurrogate 値が存在する必要があります。 アクティブ化とは、CoGetClassObject CoCreateInstanceExCoCreateInstanceExCoGetInstanceFromFileCoGetInstanceFromIStorageIMoniker::BindToObjectを呼び出すことを指します。 サロゲート プロセスで DLL を実行すると、障害の分離、複数のクライアントに同時にサービスを提供する機能、分散環境のリモート クライアントにサービスを提供できるなど、実行可能な実装の利点が得られます。

CoRegisterSurrogate

DLL サロゲート

DllSurrogateExecutable

ISurrogateする