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


Класс CComObjectNoLock

Замечание

Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Этот класс реализует 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);

Параметры

пустота*
[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.

См. также

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