Classe CComContainedObject
Essa classe implementa o IUnknown delegando-se ao objeto proprietário. IUnknown
Importante
Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.
Sintaxe
template<class Base>
class CComContainedObject : public Base
Parâmetros
Base
Sua classe, derivada de CComObjectRoot ou CComObjectRootEx.
Membros
Construtores públicos
Nome | Descrição |
---|---|
CComContainedObject::CComContainedObject | O construtor . Inicializa o ponteiro do membro para o objeto IUnknown do proprietário. |
CComContainedObject::~CComContainedObject | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CComContainedObject::AddRef | Incrementa a contagem de referência no objeto do proprietário. |
CComContainedObject::GetControllingUnknown | Recupera o objeto do proprietário IUnknown . |
CComContainedObject::QueryInterface | Recupera um ponteiro para a interface solicitada no objeto proprietário. |
CComContainedObject::Release | Diminui a contagem de referência no objeto proprietário. |
Comentários
A ATL usa CComContainedObject
nas classes CComAggObject, CComPolyObject e CComCachedTearOffObject. CComContainedObject
implementa IUnknown delegando ao objeto proprietário IUnknown
. (O proprietário é o objeto externo de uma agregação ou o objeto para o qual uma interface de tear-off está sendo criada). CComContainedObject
chama CComObjectRootEx
' s OuterQueryInterface
, OuterAddRef
e OuterRelease
, todos herdados através Base
.
Hierarquia de herança
Base
CComContainedObject
Requisitos
Cabeçalho: atlcom.h
CComContainedObject::AddRef
Incrementa a contagem de referência no objeto do proprietário.
STDMETHOD_(ULONG, AddRef)();
Valor de retorno
Um valor que pode ser útil para diagnóstico ou teste.
CComContainedObject::CComContainedObject
O construtor .
CComContainedObject(void* pv);
Parâmetros
pv
[in] O objeto do proprietário IUnknown
.
Comentários
Define o ponteiro membro m_pOuterUnknown
(herdado por meio da classe Base
) como pv.
CComContainedObject::~CComContainedObject
O destruidor.
~CComContainedObject();
Comentários
Libera todos os recursos alocados.
CComContainedObject::GetControllingUnknown
Retorna o ponteiro membro m_pOuterUnknown
(herdado por meio da classe Base) que contém o objeto do proprietário IUnknown
.
IUnknown* GetControllingUnknown();
Valor de retorno
O objeto do proprietário IUnknown
.
Comentários
Este método pode ser virtual se Base
tiver declarado a macro DECLARE_GET_CONTROLLING_UNKNOWN.
CComContainedObject::QueryInterface
Recupera um ponteiro para a interface solicitada no objeto proprietário.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);
Parâmetros
iid
[in] O identificador da interface sendo solicitada.
ppvObject
[out] Um ponteiro para o ponteiro da interface identificado por iid. Se o objeto não der suporte a essa interface, o ppvObject será definido como NULL.
pp
[out] Um ponteiro para o ponteiro da interface identificado pelo tipo Q
. Se o objeto não der suporte a essa interface, o pp será definido como NULL.
Valor de retorno
Um valor HRESULT padrão.
CComContainedObject::Release
Diminui a contagem de referência no objeto proprietário.
STDMETHOD_(ULONG, Release)();
Valor de retorno
Em builds de depuração, Release
retorna um valor que pode ser útil para diagnóstico ou teste. Em builds que não sejam de depuração, o Release
sempre retorna 0.