COM makes it possible to create DLL servers that can be loaded into a surrogate EXE process. This combines the ease of writing DLL servers with the benefits of executable implementation. Development tools like Microsoft Visual Studio facilitate the writing of DLL servers, but a DLL server in itself has limits. Running the DLL server in a surrogate process offers several possible benefits:
- Fault isolation and the ability to service multiple clients simultaneously.
- In a distributed environment, a DLL server implementation could be used to service remote clients.
- It could permit clients to help protect themselves from untrusted server code while allowing them access to the services the DLL server provides.
- Running a DLL server in a surrogate provides the DLL with the surrogate's security.
COM provides a default surrogate process, or you can write a custom surrogate if you have special needs.
The following topics provide more information on DLL surrogates: