Class Iunknown {
Virtual HRESULT QueryInterface( REFIID riid , void ** ppv) = 0;
Virtual ULONG AddRef() = 0;
Virtual ULONG Release() = 0;
};
IUnknown的两项功能:
- QueryInterface:为一个组件用户(或客户)提供了一种标准途径,通过该途径,用户可以在指定的组件里要求使用一个特定的接口。
- AddRef和Release:帮助组件在生存期内进行管理。
HRESULT:大多数COM的接口方法和API函数都返回HRESULT。HRESULT的返回结果可以使用宏SUCCEEDED和FAILED来判断。
GUID:全局特有标识符(globally unique identifier,GUID)
UUID:通用独有标识符(Universally Unique Identifier,UUID)
COM使用GUID来识别组件的类(CLSID)、接口(IID)、类型库和组件类属(CATID)。