Здравствуйте, 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 программно?