代理/存根是否公开接口?

时间:2010-11-30 08:59:48

标签: windows com interop proxy marshalling

假设我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

显然,如果我提供一个类型库,任何人都可以检查它,找到我的界面是什么以及如何使用它。那不是我想要的。

如果我使用代理/存根怎么办?它会暴露界面并让任何人检查它还是会让界面细节保持隐蔽?

1 个答案:

答案 0 :(得分:1)

不幸的是,这是不可能的。 COM的想法是客户端可以发现组件和接口。

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