Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс создает временный 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
Общие сведения о классе