Не могу получить объект из COM сервера - сервиса
От: CM Россия  
Дата: 17.09.03 16:48
Оценка:
При попытки получить объект из COM сервера — сервиса программа ожидает около 3 минут, потом выдает ошибку:
0x80080005 Server execution failed, а в логе появляется запись "The server {E33C8B42-E303-45DB-9866-EFA725B80F89} did not register with DCOM within the required timeout.".

Если COM сервер не регистрируем как сервис,то объект спокойно получаю
в сервисе отключал безопасность, ситуация не изменилась

пишу на ATL 7.0

Не могу понять в чем дело.
Заранее спасибо, буду рад любой информации
Для понимающего достаточно и немногого /Латинская поговорка/.
Re: Не могу получить объект из COM сервера - сервиса
От: SergH Россия  
Дата: 17.09.03 17:11
Оценка:
Здравствуйте, CM, Вы писали:

CM>При попытки получить объект из COM сервера — сервиса программа ожидает около 3 минут, потом выдает ошибку:

CM>0x80080005 Server execution failed, а в логе появляется запись "The server {E33C8B42-E303-45DB-9866-EFA725B80F89} did not register with DCOM within the required timeout.".

Скорее всего имеется ввиду, что не вызвана CoRegisterClassObject
Делай что должно, и будь что будет
Re[2]: Не могу получить объект из COM сервера - сервиса
От: CM Россия  
Дата: 17.09.03 18:16
Оценка:
Здравствуйте, SergH, Вы писали:

SH>Здравствуйте, CM, Вы писали:


CM>>При попытки получить объект из COM сервера — сервиса программа ожидает около 3 минут, потом выдает ошибку:

CM>>0x80080005 Server execution failed, а в логе появляется запись "The server {E33C8B42-E303-45DB-9866-EFA725B80F89} did not register with DCOM within the required timeout.".

SH>Скорее всего имеется ввиду, что не вызвана CoRegisterClassObject


Если это об этом то здесь все пучком
HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw()
{
    ::MessageBeep(-1);
    return BASE_CLASS::RegisterClassObjects(dwClsContext | CLSCTX_REMOTE_SERVER, dwFlags);
}
Для понимающего достаточно и немногого /Латинская поговорка/.
Re: Не могу получить объект из COM сервера - сервиса
От: CM Россия  
Дата: 18.09.03 11:54
Оценка:
Здравствуйте, CM, Вы писали:

CM>При попытки получить объект из COM сервера — сервиса программа ожидает около 3 минут, потом выдает ошибку:

CM>0x80080005 Server execution failed, а в логе появляется запись "The server {E33C8B42-E303-45DB-9866-EFA725B80F89} did not register with DCOM within the required timeout.".

CM>Если COM сервер не регистрируем как сервис,то объект спокойно получаю

CM>в сервисе отключал безопасность, ситуация не изменилась

CM>пишу на ATL 7.0


CM>Не могу понять в чем дело.

CM>Заранее спасибо, буду рад любой информации


Разобрался в чем проблема.
когда определен макрос _ATL_FREE_THREADED объект получить невозможно появляется ошибка см. выше.
если такрос определен _ATL_APARTMENT_THREADED, то объект получается нормально.
Кто-нибудь знает почему
Для понимающего достаточно и немногого /Латинская поговорка/.
Re[2]: Не могу получить объект из COM сервера - сервиса
От: CM Россия  
Дата: 21.09.03 06:48
Оценка:
Здравствуйте, CM, Вы писали:

CM>Здравствуйте, CM, Вы писали:


CM>>При попытки получить объект из COM сервера — сервиса программа ожидает около 3 минут, потом выдает ошибку:

CM>>0x80080005 Server execution failed, а в логе появляется запись "The server {E33C8B42-E303-45DB-9866-EFA725B80F89} did not register with DCOM within the required timeout.".

CM>>Если COM сервер не регистрируем как сервис,то объект спокойно получаю

CM>>в сервисе отключал безопасность, ситуация не изменилась

CM>>пишу на ATL 7.0


CM>>Не могу понять в чем дело.

CM>>Заранее спасибо, буду рад любой информации


CM>Разобрался в чем проблема.

CM>когда определен макрос _ATL_FREE_THREADED объект получить невозможно появляется ошибка см. выше.
CM>если такрос определен _ATL_APARTMENT_THREADED, то объект получается нормально.
CM>Кто-нибудь знает почему

ответ здесь
Автор: Quantum
Дата: 30.09.02
...
Для понимающего достаточно и немногого /Латинская поговорка/.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.