Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.