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
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



