86
том  же  компьютере,  что  и  их  клиент.  В DCOM объекты  могут  предоставлять 
свои сервисы и клиентам, выполняющимся на других узлах сети.  
Возможность  запускать  удаленные  объекты  и  вызывать  их  методы - 
важное  достижение,  но  требуется  большее.  В  частности,  нужен  способ 
контроля  за  тем,  кто  имеет  право  создавать  объекты  на  данной  машине,  и 
обеспечение
  безопасного  доступа  к  этим  объектам  по  незащищенной  сети.  С 
этой  целью  в  основу DCOM положен  набор  сервисов  контроля  доступа 
Приложения (включая  программы,  созданные  до DCOM) могут  использовать 
DCOM  и  работать  вполне  безопасно  без  добавления  какого-либо  кода, 
связанного  с  защитой.  С  другой  стороны,  приложения,  знающие  о  новых 
средствах DCOM контроля доступа, могут задействовать их
 явно. 
Сервисы  создания  объектов — одни  из  важнейших  сервисов 
предоставляемых  СОМ.  Клиенты  обычно  создают  объекты,  вызывая 
библиотеку СОМ или через моникеры. Эти подходы работают и в DCOM, хотя 
и с некоторыми новыми особенностями. 
Независимо от того, где исполняется объект, клиент обычно создает его и 
затем  получает  указатели  на  необходимые  интерфейсы.  Чтобы  создать 
удаленный объект, клиент вызывает CoCreatelnstance, передавая идентификатор 
класса CLSID, идентификатор интерфейса IID (эти два параметра используются 
и  при  создании  локальных  объектов)  и  имя  узла,  на  котором  он  должен  быть 
создан.  Для  объекта,  создаваемого  на  том  же  узле,  в  системном  реестре  по 
CLSID находится имя файла библиотеки DLL или EXE-файла сервера данного 
класса  объектов,  после  чего 
найденный  сервер  запускается.  Для  создания 
удаленного  объекта  устанавливается  связь  с  удаленным  узлом,  в  ее  реестре 
отыскивается  требуемый CLSID, и  на  удаленном  узле  запускается 
соответствующий процесс сервера.  
DCOM  предоставляет  несколько  вариантов  идентификации  узлов  в 
зависимости от используемых сетевых протоколов: доменные имена (DNS), IP-
адреса, имена NetBIOS, IPX-адреса.