COM组件学习笔记--Iunknown接口

时间:2021-02-02 22:07:21
Class Iunknown {
    Virtual HRESULT QueryInterface( REFIID riid , void ** ppv) = 0;
    Virtual ULONG AddRef() = 0;
    Virtual ULONG Release() = 0;
};

IUnknown的两项功能:

  1. QueryInterface:为一个组件用户(或客户)提供了一种标准途径,通过该途径,用户可以在指定的组件里要求使用一个特定的接口。
  2. AddRef和Release:帮助组件在生存期内进行管理。
    COM组件学习笔记--Iunknown接口

HRESULT:大多数COM的接口方法和API函数都返回HRESULT。HRESULT的返回结果可以使用宏SUCCEEDED和FAILED来判断。

GUID:全局特有标识符(globally unique identifier,GUID)
UUID:通用独有标识符(Universally Unique Identifier,UUID)
COM使用GUID来识别组件的类(CLSID)、接口(IID)、类型库和组件类属(CATID)。