Partilhar via


Classe CComObjectNoLock

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-se IUnknown para um objeto não agregado, mas não incrementa a contagem de bloqueios de módulos no construtor.

Sintaxe

template<class Base>
class CComObjectNoLock : public Base

Parâmetros

Base
A sua classe, derivada de CComObjectRoot ou CComObjectRootEx, bem como de qualquer outra interface que queira suportar no objeto.

Membros

Construtores Públicos

Nome Description
CComObjectNoLock::CComObjectNoLock Construtor.
CComObjectNoLock::~CComObjectNoLock O destruidor.

Métodos Públicos

Nome Description
CComObjectNoLock::AddRef Incrementa a contagem de referência no objeto.
CComObjectNoLock::QueryInterface Devolve um ponteiro para a interface solicitada.
CComObjectNoLock::Release Diminui a contagem de referência no objeto.

Observações

CComObjectNoLock é semelhante ao CComObject no sentido em que implementa IUnknown para um objeto não agregado; no entanto, CComObjectNoLock não incrementa o número de bloqueios de módulos no construtor.

A ATL é usada CComObjectNoLock internamente para fábricas de classe. Em geral, não vais usar esta aula diretamente.

Hierarquia de herança

Base

CComObjectNoLock

Requerimentos

Cabeçalho: atlcom.h

CComObjectNoLock::AddRef

Incrementa a contagem de referência no objeto.

STDMETHOD_(ULONG, AddRef)();

Valor de retorno

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

CComObjectNoLock::CComObjectNoLock

O construtor. Ao contrário do CComObject, não incrementa a contagem de bloqueios de módulos.

CComObjectNoLock(void* = NULL);

Parâmetros

vazio*
[dentro] Este parâmetro sem nome não é utilizado. Existe para simetria com outros CComXXXObjectXXX construtores.

CComObjectNoLock::~CComObjectNoLock

O destruidor.

~CComObjectNoLock();

Observações

Liberta todos os recursos alocados e chama o FinalRelease.

CComObjectNoLock::QueryInterface

Recupera um ponteiro para a interface solicitada.

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);

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.

Valor de retorno

Um valor HRESULT padrão.

CComObjectNoLock::Release

Diminui a contagem de referência no objeto.

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