11、COM 对象实现:从基础到 ATL 应用

COM 对象实现:从基础到 ATL 应用

1. 实现 COM 对象概述

在设计好接口并声明了 coclass 之后,下一步就是以编程方式实现对这些接口的支持。这里继续使用 C++ 进行代码实现,因为它是一种广泛使用的编程语言。C++ 在实现 COM 服务器方面受欢迎,可能是因为它对多重继承的支持,使得在一个类中支持多个接口变得容易。

2. 使用多重继承

COM 对象通常需要支持多个接口,C++ 的多重继承特性让在类中支持多个接口变得便捷。只需将每个接口声明为实现类的基类,示例代码如下:

class CVcr : public IVideo, public ISVideo 
{
  ... 
}; 

由于接口只包含纯虚方法,包含纯虚方法的类无法实例化,所以需要将接口 IVideo ISVideo 及其基接口 IUnknown 的所有纯虚方法声明为类的具体方法:

class CVcr : public IVideo, public ISVideo 
{
public: 
    // IUnknown interface 
    STDMETHOD(QueryInterface)(REFIID iid, void** pp); 
    STDMETHOD_(ULONG, AddRef)(); 
    STDMETHOD_(ULONG, Release)(); 
    // IVideo int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值