Udostępnij za pośrednictwem


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

Podstawowej
Klasa pochodząca z CComObjectRoot lub CComObjectRootEx.

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CComContainedObject::CComContainedObject Konstruktor. Inicjuje wskaźnik elementu członkowskiego do obiektu IUnknownwł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 IUnknownwł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, OuterAddRefi 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 IUnknownwł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 IUnknownwłaściciela .

IUnknown* GetControllingUnknown();

Wartość zwracana

Obiekt IUnknownwł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

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.

S
[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.

Zobacz też

Omówienie klasy