• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > COM的vtable在哪里?

COM的vtable在哪里?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了vtable,atl no vtable,vtable.gfs new,mono class vtable,26uuucom的主页等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM的vtable在哪里?
描述:

进程内COM组件的每个方法有一个Vtable,其中保存的就是各个方法的入口地址。
而COM组件应该在一个进程中只被加载一次。
那么,是不是说同一个组件、同一个接口的Vtable就只有一个了呢?
我在一个c++写的D3D程序中先创建一个D3D COM对象(OA)。然后加载一个DLL,由这个DLL再创建一个D3D COM对象(OB)。这时却发现OA和OB同一个接口的Vtable指向不同位置,OA的vtable指向进程的映象空间,OB的vtable则指向DLL的映象空间,而不是指向D3D9.dll的映象或是Ole.dll的映象。这是什么原因呢?


解决方案1:

mark

解决方案2:

帮顶,总算有个有技术含量的问题了。

解决方案3:

A a,b;
A *pa = &a;
A *pb = &b;
这里pa,pb的地址是一样的吗?
答案是:不一样的~
---------------------
我是说vtable的地址,对象的地址当然不一样。
你看看这样是不是一样:
(int*)*(int*)pa;
(int*)*(int*)pb;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • undefinedclass'ATL_NO_VTABLE'
  • ATL_NO_VTBL是作什么的?
  • 用ATL::CString,在哪里设置ATL_CSTRING_NO_CRT
  • atl_no_vtable
  • 既然Com组件是基于虚表来做QueryInterface,为什么实现类的类型却是:classATL_NO_VTABLE
  • 流媒体程序//这个类ATL_NO_VTABLECUserManager是什么作用?
  • 一段代码,编译不过去,但是加上__declspecnovtable就编译过去了,为什么?
  • Dll影响vtable?
  • 用ATL编写COM组件时,在类前面都有一个宏ATL_NO_VTABLE,能说说它的作用么?
  • COM的vtable在哪里?

相关文章

  • 2017-06-04 MSCOMM串口通信的问题
  • 2017-06-04 有没有人做过ActiveX控件?
  • 2017-06-04 有做过IE上ACTIVEX的高手请进~~~小弟有个关于CAB包的问题~~~~~~~在线等等等等等!!!
  • 2017-06-04 想结交研究串口的朋友
  • 2017-06-04 使用AddOLEControl添加WORD插件无法用PutPropertyByName和GetPropertyByName方法设置和获取属性的值
  • 2017-06-05 新手求教,WTL问题
  • 2017-06-04 急!!在线等!怎样通过VC调用DCOM服务的问题?请各位大侠指点!谢谢!
  • 2017-06-04 请教一个关于CRectTracker,绘图,对象,的问题。
  • 2017-06-05 这是由什么造成的?
  • 2017-06-05 怎样通过线程句柄返回其ID

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 为什么我的应用程序InvokeActiveX的接口不成功啊!使用CoCreateInstance方式
    • 紧急求救,怎样在activex接口函数中使用自定义数据类型做参数
    • 关于VSATL中给已生成的Componentimplementclass添加interface
    • 谁知道在MFC中ActiveX接口里可选参数的写法,我这么写在VB中调用有问题
    • 我外语不好请大家帮我看看http://wwwopenofficeorg/里哪里可以下载到openoffice的源代码?
    • 请问:为什么CreateWaitableTimer编译通不过?
    • 求助ActiveX问题
    • 如何判断哪一个窗口含有字符输入符号(在编辑框中一闪一闪的那个光标)!
    • 注入的全局钩子的问题
    • 100分:一个小问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有