Класс 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);
Параметры
пустота*
[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.