Share via


Classe CComContainedObject

Questa classe implementa IUnknown delegando all'oggetto proprietario .IUnknown

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

template<class Base>
class CComContainedObject : public Base

Parametri

Base
La classe, derivata da CComObjectRoot o CComObjectRootEx.

Membri

Costruttori pubblici

Nome Descrizione
CComContainedObject::CComContainedObject Costruttore. Inizializza il puntatore del membro all'oggetto proprietario.IUnknown
CComContainedObject::~CComContainedObject Distruttore.

Metodi pubblici

Nome Descrizione
CComContainedObject::AddRef Incrementa il conteggio dei riferimenti sull'oggetto proprietario.
CComContainedObject::GetControllingUnknown Recupera l'oggetto proprietario.IUnknown
CComContainedObject::QueryInterface Recupera un puntatore all'interfaccia richiesta nell'oggetto proprietario.
CComContainedObject::Release Decrementa il conteggio dei riferimenti sull'oggetto proprietario.

Osservazioni:

ATL usa CComContainedObject nelle classi CComAggObject, CComPolyObject e CComCachedTearOffObject. CComContainedObject implementa IUnknown delegando al proprietario dell'oggetto IUnknown. Il proprietario è l'oggetto esterno di un'aggregazione o l'oggetto per cui viene creata un'interfaccia di disinstallazione. CComContainedObject chiama CComObjectRootEx, OuterQueryInterfaceOuterAddRefe OuterRelease, tutti ereditati tramite Base.

Gerarchia di ereditarietà

Base

CComContainedObject

Requisiti

Intestazione: atlcom.h

CComContainedObject::AddRef

Incrementa il conteggio dei riferimenti sull'oggetto proprietario.

STDMETHOD_(ULONG, AddRef)();

Valore restituito

Valore che può essere utile per la diagnostica o il test.

CComContainedObject::CComContainedObject

Costruttore.

CComContainedObject(void* pv);

Parametri

Pv
[in] Oggetto proprietario.IUnknown

Osservazioni:

Imposta il m_pOuterUnknown puntatore membro (ereditato tramite la Base classe ) su pv.

CComContainedObject::~CComContainedObject

Distruttore.

~CComContainedObject();

Osservazioni:

Libera tutte le risorse allocate.

CComContainedObject::GetControllingUnknown

Restituisce il m_pOuterUnknown puntatore al membro (ereditato tramite la classe Base) che contiene l'oggetto proprietario.IUnknown

IUnknown* GetControllingUnknown();

Valore restituito

Oggetto proprietario.IUnknown

Osservazioni:

Questo metodo può essere virtuale se Base ha dichiarato la macro DECLARE_GET_CONTROLLING_UNKNOWN .

CComContainedObject::QueryInterface

Recupera un puntatore all'interfaccia richiesta nell'oggetto proprietario.

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

Parametri

Iid
[in] Identificatore dell'interfaccia richiesta.

ppvObject
[out] Puntatore al puntatore dell'interfaccia identificato da iid. Se l'oggetto non supporta questa interfaccia, ppvObject è impostato su NULL.

Pp
[out] Puntatore al puntatore dell'interfaccia identificato dal tipo Q. Se l'oggetto non supporta questa interfaccia, pp è impostato su NULL.

Valore restituito

Valore HRESULT standard.

CComContainedObject::Release

Decrementa il conteggio dei riferimenti sull'oggetto proprietario.

STDMETHOD_(ULONG, Release)();

Valore restituito

Nelle compilazioni di debug restituisce Release un valore che può essere utile per la diagnostica o il test. Nelle compilazioni non di debug restituisce Release sempre 0.

Vedi anche

Cenni preliminari sulla classe