ISurrogate interface (objidlbase.h)

Used to dynamically load new DLL servers into an existing surrogate and free the surrogate when it is no longer needed.

Inheritance

The ISurrogate interface inherits from the IUnknown interface. ISurrogate also has these types of members:

Methods

The ISurrogate interface has these methods.

 
ISurrogate::FreeSurrogate

The ISurrogate::FreeSurrogate (objidlbase.h) method unloads a DLL server.
ISurrogate::LoadDllServer

The ISurrogate::LoadDllServer (objidlbase.h) method loads a DLL server into the implementing surrogate.

Remarks

A surrogate is an EXE process into which a DLL server can be loaded to give the DLL server the advantages of an EXE server without the coding overhead. It can also allow independent DLL servers to be located together within a single process, reducing the total number of processes needed. DLL servers are easy to write using standard development tools, like Microsoft Visual Studio, and running them in a surrogate process provides the benefits of an executable implementation, including fault isolation, the ability to serve multiple clients simultaneously, and allowing the server to provide services to remote clients in a distributed environment.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidlbase.h (include ObjIdl.h)

See also

DLL Surrogates

Writing a Custom Surrogate