Klasa CComContainedObject
Ta klasa implementuje element IUnknown , delegując obiekt właściciela IUnknown
.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
template<class Base>
class CComContainedObject : public Base
Parametry
Baza
Klasa pochodząca z CComObjectRoot lub CComObjectRootEx.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComContainedObject::CComContainedObject | Konstruktor. Inicjuje wskaźnik elementu członkowskiego do obiektu IUnknown właściciela . |
CComContainedObject::~CComContainedObject | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComContainedObject::AddRef | Zwiększa liczbę odwołań względem obiektu właściciela. |
CComContainedObject::GetControllingUnknown | Pobiera obiekt IUnknown właściciela . |
CComContainedObject::QueryInterface | Pobiera wskaźnik do interfejsu żądanego dla obiektu właściciela. |
CComContainedObject::Release | Dekrementuje liczbę odwołań dla obiektu właściciela. |
Uwagi
Usługa ATL używa CComContainedObject
w klasach CComAggObject, CComPolyObject i CComCachedTearOffObject. CComContainedObject
implementuje element IUnknown , delegując obiekt właściciela IUnknown
. (Właściciel jest obiektem zewnętrznym agregacji lub obiektem, dla którego jest tworzony interfejs odrywania). CComContainedObject
wywołuje metodę CComObjectRootEx
" OuterQueryInterface
, OuterAddRef
i OuterRelease
, wszystkie dziedziczone za pomocą metody Base
.
Hierarchia dziedziczenia
Base
CComContainedObject
Wymagania
Nagłówek: atlcom.h
CComContainedObject::AddRef
Zwiększa liczbę odwołań względem obiektu właściciela.
STDMETHOD_(ULONG, AddRef)();
Wartość zwracana
Wartość, która może być przydatna do diagnostyki lub testowania.
CComContainedObject::CComContainedObject
Konstruktor.
CComContainedObject(void* pv);
Parametry
Pv
[in] Obiekt IUnknown
właściciela .
Uwagi
m_pOuterUnknown
Ustawia wskaźnik składowy (dziedziczony przez klasęBase
) na wartość pv.
CComContainedObject::~CComContainedObject
Destruktora.
~CComContainedObject();
Uwagi
Zwalnia wszystkie przydzielone zasoby.
CComContainedObject::GetControllingUnknown
m_pOuterUnknown
Zwraca wskaźnik składowy (dziedziczony za pośrednictwem klasy Bazowej), który zawiera obiekt IUnknown
właściciela .
IUnknown* GetControllingUnknown();
Wartość zwracana
Obiekt IUnknown
właściciela .
Uwagi
Ta metoda może być wirtualna, jeśli Base
zadeklarowała makro DECLARE_GET_CONTROLLING_UNKNOWN .
CComContainedObject::QueryInterface
Pobiera wskaźnik do interfejsu żądanego dla obiektu właściciela.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);
Parametry
identyfikator iid
[in] Identyfikator żądanego interfejsu.
ppvObject
[out] Wskaźnik do wskaźnika interfejsu zidentyfikowany przez identyfikator iid. Jeśli obiekt nie obsługuje tego interfejsu, obiekt ppvObject ma ustawioną wartość NULL.
Pp
[out] Wskaźnik do wskaźnika interfejsu zidentyfikowany przez typ Q
. Jeśli obiekt nie obsługuje tego interfejsu, parametr pp jest ustawiony na wartość NULL.
Wartość zwracana
Standardowa wartość HRESULT.
CComContainedObject::Release
Dekrementuje liczbę odwołań dla obiektu właściciela.
STDMETHOD_(ULONG, Release)();
Wartość zwracana
W kompilacjach debugowania zwraca wartość, Release
która może być przydatna do diagnostyki lub testowania. W kompilacjach innych niż debugowanie Release
zawsze zwraca wartość 0.