Класс CComObjectStack
Этот класс создает временный COM-объект и предоставляет его с помощью скелетной реализации IUnknown
.
Синтаксис
template <class Base>
class CComObjectStack : public Base
Параметры
Основание
Класс, производный от CComObjectRoot или CComObjectRootEx, а также из любого другого интерфейса, который требуется поддерживать в объекте.
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CComObjectStack::CComObjectStack | Конструктор. |
CComObjectStack::~CComObjectStack | Деструктор |
Открытые методы
Имя | Описание |
---|---|
CComObjectStack::AddRef | Возвращает ноль. В режиме отладки вызовы _ASSERTE . |
CComObjectStack::QueryInterface | Возвращает E_NOINTERFACE. В режиме отладки вызовы _ASSERTE . |
CComObjectStack::Release | Возвращает ноль. В режиме отладки вызовы _ASSERTE . ~ |
Открытые члены данных
Имя | Описание |
---|---|
CComObjectStack::m_hResFinalConstruct | Содержит HRESULT, возвращенный во время построения CComObjectStack объекта. |
Замечания
CComObjectStack
используется для создания временного COM-объекта и предоставления объекта скелетной реализации IUnknown
. Как правило, объект используется в качестве локальной переменной в одной функции (т. е. принудительной передачи в стек). Так как объект уничтожается при завершении функции, подсчет ссылок не выполняется для повышения эффективности.
В следующем примере показано, как создать COM-объект, используемый внутри функции:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
Временный объект Tempobj
отправляется в стек и автоматически исчезает после завершения функции.
Иерархия наследования
Base
CComObjectStack
Требования
Заголовок: atlcom.h
CComObjectStack::AddRef
Возвращает ноль.
STDMETHOD_(ULONG, AddRef)();
Возвращаемое значение
Возвращает ноль.
Замечания
В режиме отладки вызовы _ASSERTE
.
CComObjectStack::CComObjectStack
Конструктор.
CComObjectStack(void* = NULL);
Замечания
Вызовы FinalConstruct
, а затем задает m_hResFinalConstruct для HRESULT, возвращаемого FinalConstruct
. Если вы не получили базовый класс из CComObjectRoot, необходимо указать собственный FinalConstruct
метод. Деструктор вызывает FinalRelease
.
CComObjectStack::~CComObjectStack
Деструктор
CComObjectStack();
Замечания
Освобождает все выделенные ресурсы и вызывает FinalRelease.
CComObjectStack::m_hResFinalConstruct
Содержит hrESULT, возвращенный при вызове FinalConstruct
CComObjectStack
во время построения объекта.
HRESULT m_hResFinalConstruct;
CComObjectStack::QueryInterface
Возвращает E_NOINTERFACE.
HRESULT QueryInterface(REFIID, void**);
Возвращаемое значение
Возвращает E_NOINTERFACE.
Замечания
В режиме отладки вызовы _ASSERTE
.
CComObjectStack::Release
Возвращает ноль.
STDMETHOD_(ULONG, Release)();
Возвращаемое значение
Возвращает ноль.
Замечания
В режиме отладки вызовы _ASSERTE
.
См. также
Класс CComAggObject
Класс CComObject
Класс CComObjectGlobal
Общие сведения о классе