DCOM-клиенты не могут создавать объекты


Симптомы


Распределенная модель объектов компонентами (DCOM) клиентские программы, выполняемые внутри сеансы сервера терминалов, отличный от консоли нельзя создавать объекты классов внутри DCOM-серверов под управлением сервера терминалов служб.


Появляется событие с кодом 10010 вхождения из DCOM в средстве просмотра событий с следующее описание:
Регистрация сервера < clsid > DCOM не прошла за отведенное время ожидания.
–ИЛИ-
Кроме того, может появиться следующее сообщение об ошибке:
Ошибка выполнения сервера не удалось - CoGetClassObject CO_E_SERVER_EXEC_FAILURE 0x80080005

Причина


Это происходит потому, что эти классы объектов считаются globals пользователя, DCOM и сервера терминалов.


Тем не менее DCOM и сервер терминалов предоставляют возможность регистрации классов DCOM как globals системы. Но в случае классов, реализованных в службах, их следует рассматривать как globals системы, пока они явно зарегистрирован в качестве пользователя globals.

Решение


Важно. Этот раздел, метод или задача содержат действия, содержащие указания по изменению реестра. Однако, при некорректных изменениях реестра могут возникнуть серьезные проблемы. Поэтому выполняйте следующие действия внимательно. Для дополнительной защиты сделайте резервную копию реестра перед внесением изменений. В таком случае при возникновении неполадок можно будет восстановить реестр. Чтобы узнать дополнительные сведения о резервном копировании и восстановлении реестра, щелкните следующий номер статьи базы знаний Майкрософт:
322756 как резервное копирование и восстановление реестра Windows

Явно зарегистрировать DCOM-класс как глобальные системы, выполните следующие действия:

  1. Если он не существует, создайте следующий раздел реестра:
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\CLSID
  2. Создайте подраздел с {CLSID_ЭЛЕМЕНТА_УПРАВЛЕНИЯ_ACTIVEX} в качестве его имени, где идентификатор CLSID — это идентификатор класса класса DCOM, который должен быть глобальной системы. Например раздел будет следующим:
    {41116C00-8B90-101B-96CD-00AA003B14FC}
  3. В подразделе выше Создание fSystemGlobalClass как имя значения с типом REG_DWORD и задайте для него значение 1.
Или можно обновить до Windows 2000 Server со службами терминалов, которые не имеют одинаковые ограничения.

Статус


Корпорация Майкрософт установила, что это является проблемой в продуктах Майкрософт, перечисленных в начале данной статьи.

Дополнительные сведения


Чтобы воспроизвести это, используйте образец DCOM с именем «ATLDRAW» предоставляется ActiveX Template Library (ATL).