共用方式為


CComContainedObject 類別

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

重要

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

語法

template<class Base>
class CComContainedObject : public Base

參數

基地
您的類別衍生自 CComObjectRoot CComObjectRootEx

成員

公用建構函式

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

公用方法

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

備註

ATL 在 CComContainedObject CComAggObject、 CComPolyObject CComCachedTearOffObject 類別 中使用。 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。

另請參閱

類別概觀