Мы уже с Вами разговаривали о нем в шаге "Шаг 43 - Как грузится COM (SCM) ?". И знаем что он этот SCM реализует доступ к информации об объекте. Так же он используется и в DCOM. Под контекстом выполнения можно понимать как место где выполняется приложение. Всего их четыре.
CLSCTX_INPROC_SERVER DLL в адресном пространстве клиента CLSCTX_INPROC_HANDLER Дескриптор DLL CLSCTX_LOCAL_SERVER EXE выполняемый на машине клиенте CLSCTX_REMOTE_SERVER EXE выполняется на машине отличной от клиента
С ЕХЕ файлами понятно, они умеют создавать процесс, а вот как поступать с DLL веть он может работать только в чьем-то процессе. Это то же предусмотрено. SCM запускает на удаленной машине некоторый свой процесс как псевдо COM сервер. Этот процесс по умолчанию запускается на основе файла dllhost.exe. При необходимости можно реализовать и свой процесс.
Еще один необходимый для DCOM файл RPCSS.exe. DCOM требует, чтобы RPCSS был загружен, прежде чем он начнет обрабатывать запросы . Вы можете сами его запустить, поместить в автозагрузку или прописать по пути в реестре для автоматической загрузки. Естественно если по каким то причинам он у Вас не вызывается автоматически.
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices RPCSS="rpcss.exe"
Создание и использование DCOM на основе COM DLL несколько сложнее чем на основе COM EXE. В том виде в котором мы это реализовывали. Вывод отсюда простой. Если Вы хотите использовать DCOM максимально просто используйте COM EXE. А вот если в перспективе Вы захотите использовать MTS то выбор у Вас один это COM DLL.