Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta klasa tworzy tymczasowy obiekt COM i zapewnia mu implementację szkieletową IUnknownklasy .
Składnia
template <class Base>
class CComObjectStack : public Base
Parametry
Baza
Klasa, pochodząca z CComObjectRoot lub CComObjectRootEx, a także z dowolnego innego interfejsu, który ma być obsługiwane w obiekcie.
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CComObjectStack::CComObjectStack | Konstruktor. |
| CComObjectStack::~CComObjectStack | Destruktora. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CComObjectStack::AddRef | Zwraca zero. W trybie debugowania wywołuje metodę _ASSERTE. |
| CComObjectStack::QueryInterface | Zwraca E_NOINTERFACE. W trybie debugowania wywołuje metodę _ASSERTE. |
| CComObjectStack::Release | Zwraca zero. W trybie debugowania wywołuje metodę _ASSERTE. ~ |
Publiczne elementy członkowskie danych
| Nazwa/nazwisko | opis |
|---|---|
| CComObjectStack::m_hResFinalConstruct | Zawiera wartość HRESULT zwróconą podczas budowy CComObjectStack obiektu. |
Uwagi
CComObjectStack służy do tworzenia tymczasowego obiektu COM i zapewnienia obiektu szkieletowej implementacji IUnknown. Zazwyczaj obiekt jest używany jako zmienna lokalna w ramach jednej funkcji (czyli wypychana do stosu). Ponieważ obiekt jest niszczony po zakończeniu działania funkcji, zliczanie odwołań nie jest wykonywane w celu zwiększenia wydajności.
W poniższym przykładzie pokazano, jak utworzyć obiekt COM używany wewnątrz funkcji:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
Obiekt Tempobj tymczasowy jest wypychany do stosu i automatycznie zniknie po zakończeniu działania funkcji.
Hierarchia dziedziczenia
Base
CComObjectStack
Wymagania
Nagłówek: atlcom.h
CComObjectStack::AddRef
Zwraca zero.
STDMETHOD_(ULONG, AddRef)();
Wartość zwracana
Zwraca zero.
Uwagi
W trybie debugowania wywołuje metodę _ASSERTE.
CComObjectStack::CComObjectStack
Konstruktor.
CComObjectStack(void* = NULL);
Uwagi
Wywołania FinalConstruct , a następnie ustawia m_hResFinalConstruct do hrESULT zwrócone przez FinalConstruct. Jeśli klasa bazowa nie pochodzi z klasy CComObjectRoot, musisz podać własną FinalConstruct metodę. Destruktor wywołuje metodę FinalRelease.
CComObjectStack::~CComObjectStack
Destruktora.
CComObjectStack();
Uwagi
Zwalnia wszystkie przydzielone zasoby i wywołuje finalrelease.
CComObjectStack::m_hResFinalConstruct
Zawiera element HRESULT zwracany z wywołania FinalConstruct podczas budowy CComObjectStack obiektu.
HRESULT m_hResFinalConstruct;
CComObjectStack::QueryInterface
Zwraca E_NOINTERFACE.
HRESULT QueryInterface(REFIID, void**);
Wartość zwracana
Zwraca E_NOINTERFACE.
Uwagi
W trybie debugowania wywołuje metodę _ASSERTE.
CComObjectStack::Release
Zwraca zero.
STDMETHOD_(ULONG, Release)();
Wartość zwracana
Zwraca zero.
Uwagi
W trybie debugowania wywołuje metodę _ASSERTE.
Zobacz też
Klasa CComAggObject
Klasa CComObject
Klasa CComObjectGlobal
Omówienie klasy