首页 文章

IE增强保护模式和CoCreateInstance

提问于
浏览
0

我有一个在IE10中运行的ActiveX控件(插件),在Windows 8中启用了增强保护模式 . (根据http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx注册CATID_AppContainerCompatible)

我需要我的插件与一个进程外的COM服务器通信,但是当我调用CoCreateInstance时,我得到一个“类未注册”错误 . 我认为这是因为插件没有对注册表的读访问权限 .

有没有办法让这项工作?


最新情况:

事实证明我对“未注册的类”错误的假设是错误的 .

我已经添加了我的解决方案作为答案 . 我不知道为什么会破坏它,这与EPM的AppContainer隔离级别有关 . 另一个假设:/

如果有人能够更多地了解这里发生的事情,那将会有所帮助 .

2 回答

  • 1

    为了使其工作,我只需将我的插件DLL放在Program Files文件夹中,或者将所有APPLICATION PACKAGES(读取,读取和执行)添加到其文件权限 . 然后我可以CoCreate COM对象并与我的COM本地服务器通信 .

  • 0

    打开增强保护模式时,您无法执行大量操作,它是一个非常强大的沙箱 . 与进程外的COM服务器交谈当然在该列表中很高 . 跨进程互操作是病毒黑客应用的最喜欢的工具 . 这不仅仅是因为它使病毒摆脱如此困难,它可以完全和平凡地绕过沙盒限制 . 当您可以在另一个进程中运行代码时,没有保留模式,它完全失败了该功能 .

    只要您依赖该服务器,就没有真正的前进道路 .

相关问题