Поделиться через


Класс CComObjectNoLock

Этот класс реализует IUnknown для негрегатированного объекта, но не увеличивает число блокировок модуля в конструкторе.

Синтаксис

template<class Base>
class CComObjectNoLock : public Base

Параметры

Основание
Класс, производный от CComObjectRoot или CComObjectRootEx, а также из любого другого интерфейса, который требуется поддерживать в объекте.

Участники

Открытые конструкторы

Имя Описание
CComObjectNoLock::CComObjectNoLock Конструктор.
CComObjectNoLock::~CComObjectNoLock Деструктор

Открытые методы

Имя Описание
CComObjectNoLock::AddRef Увеличивает число ссылок для объекта.
CComObjectNoLock::QueryInterface Возвращает указатель на запрошенный интерфейс.
CComObjectNoLock::Release Уменьшает количество ссылок для объекта.

Замечания

CComObjectNoLock аналогичен CComObject в том, что он реализует IUnknown для неагрегатированного объекта, однако CComObjectNoLock не увеличивает число блокировок модуля в конструкторе.

ATL используется CComObjectNoLock внутренне для фабрик классов. Как правило, этот класс не будет использоваться напрямую.

Иерархия наследования

Base

CComObjectNoLock

Требования

Заголовок: atlcom.h

CComObjectNoLock::AddRef

Увеличивает число ссылок для объекта.

STDMETHOD_(ULONG, AddRef)();

Возвращаемое значение

Значение, которое может быть полезно для диагностика или тестирования.

CComObjectNoLock::CComObjectNoLock

Конструктор. В отличие от CComObject, не увеличивает число блокировок модуля.

CComObjectNoLock(void* = NULL);

Параметры

Void*
[in] Этот неименованный параметр не используется. Он существует для симметрии с другими CComXXXObjectXXX конструкторами.

CComObjectNoLock::~CComObjectNoLock

Деструктор

~CComObjectNoLock();

Замечания

Освобождает все выделенные ресурсы и вызывает FinalRelease.

CComObjectNoLock::QueryInterface

Извлекает указатель на запрошенный интерфейс.

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

Параметры

Iid
[in] Идентификатор запрашиваемого интерфейса.

ppvObject
[out] Указатель на указатель интерфейса, определяемый iid. Если объект не поддерживает этот интерфейс, ppvObject имеет значение NULL.

Возвращаемое значение

Стандартное значение HRESULT.

CComObjectNoLock::Release

Уменьшает количество ссылок для объекта.

STDMETHOD_(ULONG, Release)();

Возвращаемое значение

В отладочных сборках Release возвращает значение, которое может быть полезно для диагностика или тестирования. В сборках, отличных от отладки, Release всегда возвращается значение 0.

См. также

Общие сведения о классе