Com opc error 0x80070005 on cocreateinstanceex

OPC и DCOM — настройки сделал, но не работает! Amateur24 Новичок Присоединился: 20 Декабрь 2008 Online Status: Offline Публикации: 9 Свойства публикации Ответить, цитируя автора — Ответ Тема сообщения: OPC и DCOM — настройки сделал, но не работает! Опубликовано: 20 Декабрь 2008 15:20 Перед запуском OPC взаимодействия в удаленном режиме сделал необходимые настройки DCOM: […]

OPC и DCOM — настройки сделал, но не работает!

Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Тема сообщения: OPC и DCOM — настройки сделал, но не работает!
Опубликовано: 20 Декабрь 2008 15:20

Перед запуском OPC взаимодействия в удаленном режиме сделал необходимые настройки DCOM:

1. настроил ограничения запуска и доступа (галочки Remote для ANONYMOUS LOGON, Everyone);

2. Firewall отключен;

3. OpcEnum.exe на компе сервера есть.

Вот. И после всего этого, клиент на удаленном компе не видит ни одного OPC сервера((( Па-чи-му?!

Dima-DV

Новичок

Присоединился: 12 Ноябрь 2008
Категория: Russian Federation
Online Status: Offline
Публикации: 25 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 21 Декабрь 2008 03:15

можетбыть неправильно установлен ОРС? или может поковыряться в его настройках?

а какой клиент будет юзать ОРС?

Dismay

Действительный член

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 21 Декабрь 2008 18:10

Если именно невидны OPC сервера, то нет доступа к службе перечислителя (нумератора) OPC серверов OPCenum. Если вы уверены, что пытаетесь подключиться к хосту именно анонимно, в чем я лично не уверен, то доступ будет запрещен, т.к. в XP во первых политика доступа к компьютеру из сети:
Доступ к компьютеру из сети

Это право определяет, каким пользователям и группам разрешается подключаться к компьютеру через сеть. Это право не влияет на службы терминалов.

По умолчанию:
На рабочих станциях и серверах:
«Администраторы»,
«Операторы архива»,
«Опытные пользователи»,
«Пользователи»,
«Все».
Не позволяет анонимные подключения
SID: S-1-1-0
Название: Все
Описание: Группа, в которую входят все пользователи, даже анонимные пользователи и гости. Принадлежность контролируется операционной системой.
Во вторых:
Примечание. По умолчанию в группу «Все» более не входят анонимные пользователи на компьютере, работающем под управлением Windows XP с пакетом обновления 2 (SP2).

запуск перечислителя OPC можно контролировать procexp

На форуме довольно было обсуждений на эту тему и все в основном вопросы разжеваны, поиск вам поможет.
Стоит сначала разобраться с пользователями, анонимный доступ к подсистеме DCOM это очень очень плохо, это фактически блокирует работу защиты системы, вот так «понастроят» Windows, а потом со «знанием дела» поносят Microsoft.
Z8C1A_Хорошо_известные_идентификаторы_безопасности_в_операционных_системах_Windows.files.rar

Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 22 Декабрь 2008 09:22

Первоначально опубликовано Dima-DV

можетбыть неправильно установлен ОРС? или может поковыряться в его настройках? а какой клиент будет юзать ОРС?

Я тестирую свой сервер с Matricon OPC Explorer. Что Вы имеете ввиду под неправильной настройкой OPC сервера? Локальный клиент его находит — значит в реестре все настройки есть, в т.ч. в категориях компонентов.

2 Dismay. Спасибо за развернутый ответ — буду разбираться — может действительно что-то с правами доступа. GetLastError (после попытки создания удаленного объекта OPC сервера) выдает именно «отказано в доступе»

Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 22 Декабрь 2008 10:30

Вот у меня вопрос всплыл, насчет того как дается указание запускать OpcEnum.exe?! Я сделал тестового клиента OPC — кнопка запуска OPC сервера создает COM объект:

Server := CreateComObject(ProgIdToClassId(‘Company.OPCDaServer’)) as IOPCServer;

между подачей команды создать объект и запуском найденного сервера система дает команду запустить перечислитель OPC серверов. Как это происходит? Это нужно знать чтобы самому написать код запуска OpcEnum.exe на удаленной машине.

Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 22 Декабрь 2008 10:43 Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 22 Декабрь 2008 15:03

Прочитал вот это:

Сделал следующее. 2 компа, оба в рабочей группе. На обеих машинах завел одинаковую учетку — имя ‘OPC’, одинаковый пароль (6 цифр). Дал доступ на удаленные запуск и активацию только польз-лю OPC на машинах сервера и клиента.

После всего клиент по-прежнему не видит OPC сервера. Смотрел procxp — на компе сервера OpcEnum не запускается. Залезал в логи событий — на машине клиента создается оповещение от OpcEnum —

The description for Event ID ( 0 ) in Source ( OpcEnum ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Service started.

Dismay

Действительный член

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 22 Декабрь 2008 17:22 Amateur24

Новичок

Присоединился: 20 Декабрь 2008
Online Status: Offline
Публикации: 9 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 23 Декабрь 2008 10:34

Сервиспак SP2. что будет на 3-м — очччень интересно.

Да уж, справка по настройке OPC нужна еще как — обязательно для будущих доработчиков моего сервера оставлю. Сейчас пока описываю возникающие проблемы.

Моя почта: martest@rambler.ru

Dima-DV

Новичок

Присоединился: 12 Ноябрь 2008
Категория: Russian Federation
Online Status: Offline
Публикации: 25 Свойства публикации

Ответить, цитируя автора — Ответ Опубликовано: 26 Декабрь 2008 12:52

Первоначально опубликовано Dismay

в который раз предлагаю выслать небольшую справку по настройке OPC которую я создал из опыта работы с DCOM совместными усилиями мы могли бы довести ее до ума (на мыло, хостинга у меня нет)

можно и мне эту справочку, очень пригодится: jonik2000@rambler.ru

раз уж тут создалась подобная тема тоже хочу поделиться своей проблемой:

есть сервер ОС win2000 sp4. есть счетчики ПЦ-6806-17 с которых при помощи ОРС выдергиваются данные, и складываются в БД на SQL server 2000. с этой БД читаются данные специализированной программой (не SCADA. ) просмотра архивных данных (тут все замечательно работает. ).

есть SCADA: Genesis32. Этот женезис32 получает данные из RTAP/ Plus ( база данных реального времени) в свою очередь RTAP/ Plus получает данные из ОРС.

получается вот так: ПЦ-6806 -> ОРС -> RTAP/Plus -> визуализация-Genesis32

и где-то в этой цепочке проблема потому как в genesis я не могу получить данные из RTAP ( базы данных реального времени) . т.к. не могу открыть сетевое окружение тегов ОРС, сервер долго думает и после чего возвращает ответ что невозможно открыть окружение.

хотя напрямую со счетчика через ОРС я данные вижу. (ПЦ-6806 -> ОРС -> визуализация-Genesis32)

все действия совершаются на сервере!

никто с таким не сталкивался? как это лечить?

Источник

I have a DCOM object and I’m trying to start it remotely. But the function CoCreateInstance is returning the value 0x80070005 — Access Denied. My test is being done with Windows 7. What could be wrong?

   HRESULT hr = CoInitializeEx(0, COINIT_APARTMENTTHREADED);
   hr = CoInitializeSecurity(0, -1, NULL, NULL, RPC_C_IMP_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);

    COAUTHINFO ca = {RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_NONE, 0, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE,0, EOAC_NONE };

    COAUTHIDENTITY id = {0};
    ca.pAuthIdentityData = &id;
    id.User = (USHORT*) L"user";
    id.UserLength = userLenght;
    id.Password = (USHORT*) L"password";
    id.PasswordLength = passwordLenght;
    id.Domain = (USHORT*)L"domainName";
    id.DomainLength = domainName;
    id.Flags = SEC_WINNT_AUTH_IDENTITY_ANSI;

    COSERVERINFO c = {0};
    c.pwszName = L"machineName";
    c.pAuthInfo = &ca;
    MULTI_QI res = {0};
    res.pItf = NULL;
    res.hr = S_OK;
    res.pIID = &IID_ITextAnimationProxy;
    hr = CoCreateInstanceEx(CLSID_TextAnimationProxy,0, CLSCTX_REMOTE_SERVER,&c,1,&res);

Skip Navigation Links
You are here: Home
> OPC Download Center > OPC Whitepapers > 0x80070005 DCOM Error

Cause
DCOM Error 0x80070005 appears in the OPC Client application when it succeeds in launching an OPC Server or OpcEnum, but fails to receive a reply from either of the applications. This error could be caused under several conditions: On the OPC Server PC, the OPC Client User Account does not have the right Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Default.

On the OPC Client PC, the OPC Server User Account does not have the right Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Limits.

On the OPC Client PC, the DCOM Default Impersonation Level is set to «Anonymous» instead of «Identify», and the «ANONYMOUS LOGON» Access Control Entry (ACE) does not exist in the OPC Client PC, Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Limits.

Background
There are cases where an OPC client application can launch a remote OPC Server, but is unable to receive further responses. Thus, DCOM will inform the OPC Client that the launch of the remote server was successful, but the OPC Client will be unable to continue communicating with the OPC Server application. In this case, the OPC Client application will display DCOM Error 0x80070005. In essence, this error occurs when DCOM communication is stopped by the Access Control List (ACL) of either the OPC Client PC or OPC Server PC.

Test
If you receive DCOM Error 0x80070005, check if the OPC Server application is actually running on the OPC Server PC. If you received this error when you tried to browse for OPC Servers on the OPC Server PC, check if OpcEnum is running. If either is running, end both processes on the OPC Server PC. Then try to establish communication again. If you still receive the same DCOM Error 0x80070005, then the cause is as listed above, and you will simply need to follow the repair procedure below. If you receive a different DCOM error, then you will need to search for that specific error instead.

Repair Procedures
For the complete step-by-step repair procedure to fix this DCOM error, download the complete whitepaper.

For automated troubleshooting, refer to OPC Expert, a software application to troubleshoot OPC connections. If OPC Expert fails to connect, it automatically informs you of the problem, diagnoses the cause, and suggests a solution. OPC Expert is free to download, does not require installation, and does not make any changes to Windows registry, so it is safe to use on your computer. Download at www.OpcExpert.com.

Vendor name


Author:

OPC Training Institute

view complete
profile

OPCTI is the global leader in OPC training for automation professionals, and is the largest OPC training company in the world. OPCTI offers hands-on training workshops in-person and online.

OPCTI is vendor-neutral, meaning that we will teach you how to establish and implement a robust and secure communication infrastructure, no matter what OPC products you use — the training that you receive from OPCTI can be immediately implemented at your workplace. Our progressive training will enable you to increase your efficiency, security, and productivity.

The Certified OPC Professional (COP) designation is only offered by OPCTI. The designation is awarded to those who have successfully completed our training, and who demonstrate proficiency with OPC technology, design architecture, and installations. The COP designation is endorsed by many OPC Foundation member companies.

OPCTI is an active member and a strong supporter of the OPC Foundation. Randy Kondor, President and Chief Instructor at OPCTI currently serves as the Vice President of Education at the OPC Foundation.

Visit our Training Schedule to see where OPCTI is currently offering training workshops, or contact us to find out more about private trainings for you and your team at your site.

Skip Navigation Links
You are here: Home
> OPC Download Center > OPC Whitepapers > 0x80070005 DCOM Error

Skip to content

OPC Expert Logo

True Vendor Neutrality

0x80070005 DCOM Error

Cause
DCOM Error 0x80070005 appears in the OPC Client application when it succeeds in launching an OPC Server or OpcEnum, but fails to receive a reply from either of the applications. This error could be caused under several conditions: On the OPC Server PC, the OPC Client User Account does not have the right Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Default.

On the OPC Client PC, the OPC Server User Account does not have the right Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Limits.

On the OPC Client PC, the DCOM Default Impersonation Level is set to “Anonymous” instead of “Identify”, and the “ANONYMOUS LOGON” Access Control Entry (ACE) does not exist in the OPC Client PC, Access Control List (ACL) permissions in the System-Wide DCOM settings, Access Permissions, Edit Limits.

Repair

  • Run OPC Expert on the remote computer you are trying to connect to
  • Return to your original client computer
  • Expand ‘Entire Network’
  • Right click the remote computer your are trying to connect to
  • Select ‘Import OPC servers’
  • Import the OPC servers
  • Data can be transferred via secure OPC UA connection,

Return to support

Title

Page load link

  • Remove From My Forums
  • General discussion

  • the method failes on trying to instanatiate a com object that
    is registered as dcom,

    i ran «DCOMCNFG» from  Windows startup window, there, under the specific service name that is given

    to the «CoCreateInstance» method,

    i right clicked the service and opened the properties window,,

    in the «General tab»:

    authentication level is set to «None»

    under security tab, full launching permissions are granted to:

    administrator,

    administrators,

    system

    local service

    network

    internet guest account

    IIS_WPG

    also, in registry, i used the «decomperm.exe» tool to set «LaunchPermission» under «HKEY_CLASSES_ROOTAppID{17BDAB42-58E5-11D1-91D7-00403331203B}» which is the key for the service appId

    i’m not sure about the process,

    but i would really like to get help from you

    Thanks in advance :)

    • Edited by

      Thursday, June 9, 2016 9:08 AM

Понравилась статья? Поделить с друзьями:
  • Com google process gapps остановлен как исправить
  • Com google apps ошибка
  • Com error класс не зарегистрирован 80040154
  • Com error 80070005
  • Com error 80020009