【问题标题】:Does proxy/stub expose the interface?代理/存根是否公开接口?
【发布时间】:2011-05-17 18:06:33
【问题描述】:

假设我introduced a COM interface and don't want any third party to use it。我可以完全控制 COM 组件的来源和包含接口定义的 IDL 文件。我的 COM 组件需要从该接口编组一些东西,所以I'll need to either implement IMarshal or provide a typelib or provide a proxy/stub

显然,如果我提供一个 typelib,任何人都可以检查它并找到我的接口是什么以及如何使用它。这不是我想要的。

如果我使用代理/存根怎么办?它会暴露接口并让任何人检查它还是会隐藏接口细节?

【问题讨论】:

    标签: windows com interop proxy marshalling


    【解决方案1】:

    很遗憾,这是不可能的。 COM 的理念是客户端可以发现组件和接口。

    在之前的工作中,我开发了一个配备数字版权的应用程序,我们故意不使用 COM,只是为了让人们更难利用我们的应用程序。我们必须构建自己的组件基础架构(除了其他安全措施)。

    【讨论】:

    • 我不能同意你的看法。如果没有编组,只使用早期绑定来隐藏内部工作是微不足道的——那么客户端就不需要在运行时知道接口。我们这样做了,而且效果很好。
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2020-01-16
    • 2010-10-06
    • 1970-01-01
    • 2013-01-09
    相关资源
    最近更新 更多