COM(个人笔记)IUnknown接口
来源:互联网 发布:杨洋星兵报到知乎 编辑:程序博客网 时间:2024/05/16 08:44
COM对象必须具备的两大特性:多接口(QueryInterface),引用计数(AddRef and Release)。
由于COM对象都必须实现这三个函数,所以COM定义了一个标准接口IUnknown:
class IUnknown
{
public:
virtual HRESULT QueryIterface(RIID riid,void**ppObj)=0;
virtual ULONG AddRef()=0;
virtual ULONG Release()=0;
};
对象可以通过从IUnknown派生实现这三个函数,即:由一个抽象基类派生另一个抽象基类。
例如:
class IDB:public IUnknown
{
public:
virtual HRESULT Read (short nTable,short nRow,LPWSTR lpszData)=0;
(...)
};
这种方法很简单的将两个vtable合二为一;IDB包含所有IUnknown的函数;IDB的vtable的前三个函数就是IUnknown中的前三个函数。
另一种实现方法是将函数添加到自己的接口处:
class IDB{
public:
virtual HRESULT QueryInterface(RIID riid,void ** Obj)=0;
virtual ULONG AddRef()=0;
virtual ULONG Release()=0;
virtual HRESULT Read (short nTable,short nRow,LPWSTR lpszData)=0;
(...)
};
- COM(个人笔记)IUnknown接口
- COM学习笔记(三)IUnknown接口
- COM组件学习笔记--Iunknown接口
- COM组件中的 IUnknown接口(1)
- com关于IUnknown接口
- COM编程之IUnknown接口
- COM 组件接口的 IUnKnown 接口介绍
- COM :IUnknown接口QueryInterface函数介绍
- COM :IUnknown接口QueryInterface函数介绍
- COM三大接口 -> IUnknown、IClassFactory、IDispatch
- COM三大接口:IUnknown、IClassFactory、IDispatch。
- COM三大接口:IUnknown、IClassFactory、IDispatch
- COM三大接口:IUnknown、IClassFactory、IDispatch
- COM三大接口:IUnknown、IClassFactory、IDispatch。
- COM三大接口:IUnknown、IClassFactory、IDispatch
- COM三大接口:IUnknown、IClassFactory、IDispatch
- COM三大接口:IUnknown、IClassFactory、IDispatch
- COM个人笔记(标准类厂接口:IClassFactory)
- eclipse 高亮显示相同字符串问题
- 本机不能访问ubuntu虚拟机samba问题
- OGG 安装测试
- 在C语言中各种数据类型各占多少位
- linux后台运行命令
- COM(个人笔记)IUnknown接口
- const C++ 用法总结
- 【阅读笔记之二】《DIRECTX.9.0.3D游戏开发编程基础》:基础数学知识
- unsigned int转为十六进制方法
- Linux 套接字编程中的 5 个隐患
- JQuery-第二章 选择器
- Eclipse中文注释乱码解决
- Spring--quartz中cronExpression
- Struts2异常:ognl.OgnlException: target is null for setProperty