英語で読む

次の方法で共有


DllSurrogate

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

レジストリ エントリ

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

解説

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

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

CoRegisterSurrogate

DLL サロゲート

DllSurrogateExecutable

ISurrogate