COM-объект в Service и Security
- From
- Demid ()
- To
- All
- Date
- 2002-04-05T21:38:51Z
- Area
- SU.WINDOWS.NT.PROG
From: "Demid" <demid@pstu.edu>
Hi, People.
Пытаюсь создать COM-сервер в службе (в Delphi). Он создается и работает, но
подключиться к себе дает только тому пользователю, от имени которого
стартует служба. Даже не администраторам, что странно.
Через DCOMCNFG сконфигурировать безопасность этого объекта не получается -
его там нет (почему-то для этого приложения отсутствует AppID).
Пробовал сделать на сервере и на клиенте (на всякий случай)
CoInitializeSecurity(nil, -1, nil, nil, RPC_C_AUTHN_LEVEL_NONE,
RPC_C_IMP_LEVEL_ANONYMOUS, nil, EOAC_NONE, nil);
Не помогло - никаких изменений. Больше никаких мыслей в голову не приходит.
Мне нужно, чтобы объект могли использовать все, независимо от имени
пользователя и наличия такового вообще. Соответствующие настройки для Local
server (это когда сервер в обычном EXE-файле) делаются с помощью DCOMCNFG
без труда.
Куда копать?
Еще деталь: установлено, что не получается не создание COM-объекта, а вызов
метода, т.е. CoCreateInstance отрабатывает нормально, а IDispatch.Invoke на
этом объекте отваливается с ошибкой "Критический сбой" (под Windows 2000 -
"Разрушительный сбой" :) ) Еще раз повторю - если запускаю службу от имени
того пользователя, под которым же пытаюсь и клиентское приложение
запустить - все работает как надо.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)