COM组件的集合与包容

大城市里の小女人 提交于 2019-11-26 06:09:36

集合与包容,实质就是组件之间的互相调用。即一个组件使用另一个组件的功能,达到代码复用的作用。只是这种复用是构建在二进制数据上的(因为被复用的组件常常以dll的格式存在),而不是像c++代码复用是以源文件的形式复用。

集合与包容的区别在于:

包容是将内组件的功能进行封装,由外组件提供接口供客户调用,但实质执行任务的仍然是内组件。

集合是将内组件的功能暴露出来供客户调用,让客户感觉好像调用的是外组件的接口一样。

集合实现的方法是先实例化内组件类,返回内组件的IUnknown接口指针pUnk。在外组件的QuryInterface(riid,ppv)中通过if语句根据传入的riid值,调用pUnk->QuryInterface(riid,ppv)返回内组件的指定接口。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!