Re[2]: Вопрос все о том же E_ACCESSDENIED
От: Glaz  
Дата: 07.01.05 09:23
Оценка:
Здравствуйте, kzua, Вы писали:

K>"FAQ: COM Security Frequently Asked Questions," Knowledge Base article #Q158508"


K>http://support.microsoft.com/default.aspx?scid=kb;en-us;158508


K>3. Why does IConnectionPoint::Advise not work?

K>4. I receive E_ACCESSDENIED from CoCreateInstanceEx. Why?

Спасибо за линк.
Дело в том, что я не использую механизм точек подключения и метод Advise(IUnknown** ppUnk) — мой собственный.
Я не знаю где поставить вызов CoInitializeSecurity в клиенте. Он возвращает ошибку, а настройки безопасности прописанные для данного компонента в реестре не используются.

Пробовал поставить в функцию DllRegisterServer. При регистрации компонента CoInitializeSecurity срабатывает удачно, но при запуске та же проблема. Видимо при запуске CoInitializeSecurity вызывается неявно еще раз.

Прочитав статью Влада и рассмотрев его пример понял, что с dll такие фокусы не проходят. Получается, что для COM-объектов расположенных в dll защиту можно настроить только(!) вручную. На мой взгляд это бред какой-то. Неужели нет какого-либо способя настроить защиту dll программно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.