Re[2]: DCOM & Windows 98
От: shilnik Россия  
Дата: 13.04.04 02:27
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>Нет под рукой Win 9x, но что-то мне подсказывает, что так оно и должно быть — не умеет 9x рулить правами. Если я не ошибаюсь, то туда даже лазить не надо, я решал в точности такую же задачу некоторое время назад. И решал её следующим способом:

MN>1) через CoInitializeSecurity на клиенте убирал всю секьюрность — CoInitializeSecurity( 0, -1, 0, 0, RPC_C_AUTHN_LEVEL_NONE, RPC_C_IMP_LEVEL_IMPERSONATE, 0, EOAC_NONE, 0 );
MN>2) на сервере перед вызовом через CoSetProxyBlanket изменял настройки безопасности прокси клиентского объекта — отключал всю секьюрность для него к чёртовой бабушке: CoSetProxyBlanket( eventObj, RPC_C_AUTHN_NONE, RPC_C_AUTHZ_NONE, 0, RPC_C_AUTHN_LEVEL_NONE, RPC_C_IMP_LEVEL_IDENTIFY, 0, EOAC_NONE );
MN>А вот глобальные настройки DCOM`а на клиентской машине (там вообще Win95 стояла), кажись были выставлены по-умолчанию...

А можно поподробнее, желательно с примерами. Где конкретно эти функции вызывать. У меня серверная часть написана на VB6, клиентская на Delphi 7. Объект из клиента вызывается так:


      ITBLoader:=CoclsTBLoad.CreateRemote(mConf.ServerName);
      oTBLoader:=TclsTBLoad.Create(Application);
      oTBLoader.ConnectTo(ITBLoader);
      oTBLoader.OnChangeState:=onChangeState;
      nRet:=oTBLoader.Load();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.