• 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 > CoCreateInstanceEx与CoGetClassObject的关系

CoCreateInstanceEx与CoGetClassObject的关系

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

佚名通过本文主要向大家介绍了cogetclassobject,cocreateinstanceex,cocreateinstance,cocreateinstance失败,c cocreateinstance等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: CoCreateInstanceEx 与 CoGetClassObject 的关系
描述:

从 MSDN 上的资料来看,CoCreateInstanceEx 实际上是封装了下面 3 个调用的 Helper 函数,首先调用 CoGetClassObject,然后 IClassFactory::CreateInstance 创建一个未初始化的实例,然后 IClassFactory::Release,释放类对象。
现在想做一个函数拦截的程序,拦截上面说的 CoCreateInstanceEx 函数的调用,如果 rclsid 跟相应的 CLSID 相同,则做相应的操作,这个没有问题。但是既然 CoCreateInstanceEx 是上面所说的 3 个调用的封装,按照推断,我拦截 CoGetClassObject 这个函数,应该也可以拦截到与我所要的CLSID相同的调用,可是却拦截不到,函数拦截到了,可以却没有我想要的CLSID,请问这是什么原因?
第二个问题是:MSDN上给出的 CoGetClassObject 的定义为:
STDAPI CoGetClassObject(
  REFCLSID rclsid,
  DWORD dwClsContext,
  COSERVERINFO * pServerInfo,
  REFIID riid,
  LPVOID * ppv);
但是VS2005里面的定义却是:
WINOLEAPI  CoGetClassObject(
  IN REFCLSID rclsid, 
  IN DWORD dwClsContext, 
  IN LPVOID pvReserved,
  IN REFIID riid, 
OUT LPVOID FAR* ppv);
第四个参数,一个是COSERVERINFO类型,另外一个却是 LPVOID 类型。请问这是怎么回事?应该以哪个为准?
谢谢!


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

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

  • 一个简单问题,以前认为搞懂了,现在却再次糊涂了!关于CoGetClassObject和DllGetClassObject和类厂
  • CoGetClassObject内部原理
  • CoGetClassObject函数仅仅是用来获取类厂对象的吗?
  • 使用IDL文件生成组件注册代码,CoGetClassObject返回E_NOINTERFACE
  • 调用CoGetClassObject的时候返回0x80080005,意思是服务器运行失败
  • CoGetObject与CoGetClassObject区别
  • 所谓的"聚合"就是用CoGetClassObject创建类厂然后创建对象实例吗?
  • CoGetClassObject失败但是CoCreateInstance成功,这是为什么?
  • CoCretaeInstance失败,但CoGetClassObject成功
  • 关于Com的CoGetClassObject函数。

相关文章

  • 2017-06-05 为啥说线程对象的默认(初始)句柄数为2?
  • 2017-06-05 哪位能提供窗口组件的编程
  • 2017-06-04 高分征求ActiveX的设计思路,Up也有分。
  • 2017-06-05 关于CDC画图的问题
  • 2017-06-05 在一个函数开始处开启一个线程,为什么在函数体执行完了才执行线程函数
  • 2017-06-05 在Vc中如何调用从matlab中转成的dll?
  • 2017-06-05 求用VS2010写的ATLactivex控件实例代码
  • 2017-06-04 进程外组件可以这样用吗?
  • 2017-06-04 进程外组件EXE服务器能使用回调接口的方法吗?
  • 2017-06-04 ATL做的axtivex嵌入网页单击后页面编辑框不能输入

文章分类

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

最近更新的内容

    • 制做DLL时调试具体讲一讲,VC是怎么生成DLL
    • 为什么我用VC生成的ATLCOM服务程序,在程序里面运行到whileGetMessage后不执行呢?
    • 如何在用ATL制作的COM中返回一個Recordset??
    • 如何实现异步的URLDownloadToCacheFile功能?
    • 用命令行注册控件
    • 有没有什么办法让动态库工程输出静态库
    • 如何枚举COM组件里的函数名及函数参数名?
    • _bstr_t类型的字符串存储的是个小数怎么控制小数的精度
    • 关于使用SendMessage结束另一个进程的问题?在线等待。
    • 用VC的CSpreadSheet操作excel问题!!急!!!

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

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