Partilhar via


Classe CComContainedObject

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe implementa IUnknown delegando ao objeto IUnknownproprietário .

Importante

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

template<class Base>
class CComContainedObject : public Base

Parâmetros

Base
A sua classe, derivada de CComObjectRoot ou CComObjectRootEx.

Membros

Construtores Públicos

Nome Description
CComObjectoContido::CComObjetoContidoContido O construtor. Inicializa o apontador membro para o objeto IUnknownproprietário .
CComObjectContented::~CComContainedObject O destruidor.

Métodos Públicos

Nome Description
CComWithContentedObject::AddRef Incrementa a contagem de referência no objeto proprietário.
CComObjectoContido::GetControllingDesconhecido Recupera o objeto IUnknowndo proprietário .
CComContainedObject::QueryInterface Recupera um ponteiro para a interface solicitada no objeto proprietário.
CComContainedObject::Release Diminui a contagem de referência sobre o objeto do proprietário.

Observações

ATL utiliza CComContainedObject nas classes CComAggObject, CComPolyObject e CComCachedTearOffObject. CComContainedObject implementa IUnknown delegando ao objeto IUnknownproprietário . (O proprietário é ou o objeto externo de uma agregação, ou o objeto para o qual está a ser criada uma interface de separação.) CComContainedObject chama CComObjectRootExa , OuterQueryInterfaceOuterAddRef, e OuterRelease, todos herdados através de Base.

Hierarquia de herança

Base

CComContainedObject

Requerimentos

Cabeçalho: atlcom.h

CComWithContentedObject::AddRef

Incrementa a contagem de referência no objeto proprietário.

STDMETHOD_(ULONG, AddRef)();

Valor de retorno

Um valor que pode ser útil para diagnósticos ou testes.

CComObjectoContido::CComObjetoContidoContido

O construtor.

CComContainedObject(void* pv);

Parâmetros

PV
[dentro] O objeto IUnknowndo proprietário é .

Observações

Define o m_pOuterUnknown ponteiro membro (herdado através da Base classe) para pv.

CComObjectContented::~CComContainedObject

O destruidor.

~CComContainedObject();

Observações

Liberta todos os recursos alocados.

CComObjectoContido::GetControllingDesconhecido

Devolve o m_pOuterUnknown ponteiro membro (herdado através da classe Base ) que contém o objeto IUnknownproprietário .

IUnknown* GetControllingUnknown();

Valor de retorno

O objeto IUnknowndo proprietário é .

Observações

Este método pode ser virtual se Base tiver declarado a DECLARE_GET_CONTROLLING_UNKNOWN macro.

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
[dentro] O identificador da interface a ser solicitada.

ppvObject
[fora] Um apontador para o ponteiro de interface identificado por iid. Se o objeto não suportar esta interface, o ppvObject é definido como NULL.

pp
[fora] Um apontador para o ponteiro de interface identificado pelo tipo Q. Se o objeto não suportar esta interface, pp é definido como NULL.

Valor de retorno

Um valor HRESULT padrão.

CComContainedObject::Release

Diminui a contagem de referência sobre o objeto do proprietário.

STDMETHOD_(ULONG, Release)();

Valor de retorno

Em compilações de depuração, Release devolve um valor que pode ser útil para diagnóstico ou testes. Em builds que não são de depuração, Release devolve sempre 0.

Consulte também

Visão geral da classe