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