共用方式為


CComContainedObject 類別

這個類別藉由委派給擁有者物件的 IUnknown來實作 IUnknown

重要

這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。

語法

template<class Base>
class CComContainedObject : public Base

參數

Base
您的類別衍生自 CComObjectRootCComObjectRootEx

成員

公用建構函式

名稱 描述
CComContainedObject::CComContainedObject 建構函式。 初始化擁有者對象的 IUnknown成員指標。
CComContainedObject::~CComContainedObject 解構函式。

公用方法

名稱 描述
CComContainedObject::AddRef 遞增擁有者對象的參考計數。
CComContainedObject::GetControllingUnknown 擷取擁有者物件的 IUnknown
CComContainedObject::QueryInterface 擷取擁有者物件上要求的介面指標。
CComContainedObject::Release 遞減擁有者對象的參考計數。

備註

ATL 在 CComContainedObject CComAggObject、CComPolyObjectCComCachedTearOffObject 類別中使用。 CComContainedObject由委派給擁有者物件的 IUnknown來實作 IUnknown。 (擁有者是匯總的外部物件,或是正在建立卸除介面的物件。 CComContainedObject 會呼叫 CComObjectRootExOuterQueryInterfaceOuterAddRefOuterRelease,全都是透過 Base繼承而來。

繼承階層架構

Base

CComContainedObject

需求

標頭: atlcom.h

CComContainedObject::AddRef

遞增擁有者對象的參考計數。

STDMETHOD_(ULONG, AddRef)();

傳回值

對於診斷或測試而言可能很有用的值。

CComContainedObject::CComContainedObject

建構函式。

CComContainedObject(void* pv);

參數

光伏
[in]擁有者物件的 IUnknown

備註

m_pOuterUnknown 成員指標 (透過 Base 類別繼承) 設定為 pv

CComContainedObject::~CComContainedObject

解構函式。

~CComContainedObject();

備註

釋放所有已配置的資源。

CComContainedObject::GetControllingUnknown

m_pOuterUnknown回擁有者對象的 成員指標(透過類繼承)。IUnknown

IUnknown* GetControllingUnknown();

傳回值

擁有者物件的 IUnknown

備註

如果Base已宣告DECLARE_GET_CONTROLLING_UNKNOWN巨集,這個方法可能是虛擬的

CComContainedObject::QueryInterface

擷取擁有者物件上要求的介面指標。

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);

參數

iid
[in] 所要求介面的識別碼。

ppvObject
[out]由 iid 識別之介面指標的指標。 如果物件不支持這個介面, ppvObject 會設定為 NULL。

pp
[out]型別 Q所識別之介面指標的指標。 如果物件不支持這個介面, pp 會設定為 NULL。

傳回值

標準 HRESULT 值。

CComContainedObject::Release

遞減擁有者對象的參考計數。

STDMETHOD_(ULONG, Release)();

傳回值

在偵錯組建中, Release 傳回可能對診斷或測試很有用的值。 在非偵錯組建中, Release 一律會傳回 0。

另請參閱

類別概觀