CoCreateInstance函数

CoCreateInstance函数

创建组件的最简单的方法是使用CoCreateInstance函数。在本机中只创建一个对象时,可以调用CoCreateInstance;在远程系统中创建一个对象时,可以调用CoCreateInstanceEx;创建多个同一CLSID的对象时, 可以参考 CoGetClassObject 函数。

在COM库中包含一个用于创建组件的名为CoCreateInstance的函数。此函数需要一个CLSID参数,在此基础上创建相应组件的一个实例,并返回此组件的某个接口。

STDAPI CoCreateInstance(
  REFCLSID rclsid, //创建的Com对象的类标识符(CLSID)
  LPUNKNOWN pUnkOuter, //指向接口IUnknown的指针
  DWORD dwClsContext, //运行可执行代码的上下文
  REFIID riid, //创建的Com对象的接口标识符
  LPVOID * ppv //用来接收指向Com对象接口地址的指针变量
  );

 

参数:
  rclsid
  [in] 用来唯一标识一个对象的CLSID(128位),需要用它来创建指定对象。

        (Clsid,先得说下GUID,它是Globally Unique Identifier的简称,中文翻译为“全球唯一标示符”,在Windows系统中也称之为Class ID,缩写为CLSID。对于不同的应用程序,文件类型,OLE对象,特殊文件夹以及各种系统组件,Windows都会分配一个唯一表示它的ID代码)


  pUnkOuter
  [in] 如果为NULL, 表明此对象不是聚合式对象一部分。如果不是NULL, 则指针指向一个聚合式对象的IUnknown接口。


  dwClsContext
  [in] 组件类别. 可使用CLSCTX枚举器中预定义的值.


  riid
  [in] 引用接口标识符,用来与对象通信。


  ppv
  [out] 用来接收指向接口地址的指针变量。如果函数调用成功,*ppv包括请求的接口指针。


  返回值:
  S_OK
  指定的Com对象实例被成功创建。
参考:CoCreateInstance用法_C++ for Windows 之路-CSDN博客_cocreateinstance

ClsId及其使用_天若有情 -- 追梦人-CSDN博客_clsid

COM笔记-CoCreateInstance - fangyukuan - 博客园

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值