问个COM基础问题?

xiaoqiqixiao 2004-07-24 10:20:56
我一个Ca实现了两个接口IX和IY,我看了COM技术内幕上的几个示意图,发现IX和IY的vtbl是不同的,而每个vtbl上都有QueryInterface和AddRef,Release函数,那么这几个函数的实现代码是一份还是两份呢,也就是说,这两个不同的虚拟函数指针所指向的函数代码是否是相同的呢?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
NistCK 2004-07-24
  • 打赏
  • 举报
回复
一份
manw 2004-07-24
  • 打赏
  • 举报
回复
呵呵,可以参考一下技术内幕的例子,显然是一个啦
newbibe 2004-07-24
  • 打赏
  • 举报
回复
那么这几个函数的实现代码是一份还是两份呢,也就是说,这两个不同的虚拟函数指针所指向的函数代码是否是相同的呢?
>>

反过来想一想,你可以有两份实现代码吗?
怎么做?
xhncmec 2004-07-24
  • 打赏
  • 举报
回复
说错了,基于MFC早绑定是二份

比如:
Ca::Xx::QueryInterface(...)
Ca::Xx::AddRef(...)
Ca::Xx::Release(...)

Ca::Xy::QueryInterface(...)
Ca::Xy:AddRef(...)
Ca::Xy::Release(...)

基于MFC的晚绑定是一份
COleDispatchImpl::QueryInterface(...)
COleDispatchImpl::AddRef(...)
COleDispatchImpl::Release(...)

基于ATL的,没学过,不清楚
xhncmec 2004-07-24
  • 打赏
  • 举报
回复
没办法实现两份,应该是一份

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧