Compartilhar via


Classe CComObjectNoLock

Essa classe implementa IUnknown para um objeto não agregado, mas não incrementa a contagem de bloqueio de módulo no construtor.

Sintaxe

template<class Base>
class CComObjectNoLock : public Base

Parâmetros

Base
Sua classe, derivada de CComObjectRoot ou CComObjectRootEx, bem como de qualquer outra interface que você deseja dar suporte no objeto.

Membros

Construtores públicos

Nome Descrição
CComObjectNoLock::CComObjectNoLock Construtor.
CComObjectNoLock::~CComObjectNoLock O destruidor.

Métodos públicos

Nome Descrição
CComObjectNoLock::AddRef Incrementa a contagem de referência no objeto.
CComObjectNoLock::QueryInterface Retorna um ponteiro para a interface solicitada.
CComObjectNoLock::Release Diminui a contagem de referência no objeto.

Comentários

CComObjectNoLock é semelhante a CComObject pois implementa IUnknown para um objeto não agregado, no entanto, CComObjectNoLock não incrementa a contagem de bloqueio de módulo no construtor.

ATL usa CComObjectNoLock internamente para fábricas de classe. Em geral, você não usará essa classe diretamente.

Hierarquia de herança

Base

CComObjectNoLock

Requisitos

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óstico ou teste.

CComObjectNoLock::CComObjectNoLock

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

CComObjectNoLock(void* = NULL);

Parâmetros

void*
[in] Esse parâmetro sem nome não é usado. Há por simetria com outros CComXXXObjectXXXconstrutores .

CComObjectNoLock::~CComObjectNoLock

O destruidor.

~CComObjectNoLock();

Comentários

Libera todos os recursos alocados e chama FinalRelease.

CComObjectNoLock::QueryInterface

Recupera um ponteiro para a interface solicitada.

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

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.

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 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.

Confira também

Visão geral da aula