Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato třída implementuje IUnknown delegováním do objektu IUnknownvlastníka .
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
template<class Base>
class CComContainedObject : public Base
Parametry
Základna
Vaše třída odvozená z CComObjectRoot nebo CComObjectRootEx.
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| CComContainedObject::CComContainedObject | Konstruktor Inicializuje ukazatel členu na objekt vlastníka .IUnknown |
| CComContainedObject::~CComContainedObject | Destruktor. |
Veřejné metody
| Název | Popis |
|---|---|
| CComContainedObject::AddRef | Zvýší počet odkazů na objekt vlastníka. |
| CComContainedObject::GetControllingUnknown | Načte objekt vlastníka IUnknown. |
| CComContainedObject::QueryInterface | Načte ukazatel na rozhraní požadované pro objekt vlastníka. |
| CComContainedObject::Release | Sníží počet odkazů na objekt vlastníka. |
Poznámky
ATL používá CComContainedObject ve třídách CComAggObject, CComPolyObject a CComCachedTearOffObject. CComContainedObject implementuje IUnknown delegováním na objekt vlastníka IUnknown. (Vlastník je buď vnější objekt agregace, nebo objekt, pro který se vytváří rozhraní pro odtržování.) CComContainedObject volá CComObjectRootEx' s OuterQueryInterface, OuterAddRefa OuterRelease, všechny zděděné prostřednictvím Base.
Hierarchie dědičnosti
Base
CComContainedObject
Požadavky
Hlavička: atlcom.h
CComContainedObject::AddRef
Zvýší počet odkazů na objekt vlastníka.
STDMETHOD_(ULONG, AddRef)();
Návratová hodnota
Hodnota, která může být užitečná pro diagnostiku nebo testování.
CComContainedObject::CComContainedObject
Konstruktor
CComContainedObject(void* pv);
Parametry
Pv
[v] Objekt vlastníka IUnknown.
Poznámky
Nastaví ukazatel členu m_pOuterUnknown (zděděný prostřednictvím Base třídy) na pv.
CComContainedObject::~CComContainedObject
Destruktor.
~CComContainedObject();
Poznámky
Uvolní všechny přidělené prostředky.
CComContainedObject::GetControllingUnknown
Vrátí ukazatel členu m_pOuterUnknown (zděděný prostřednictvím základní třídy), který obsahuje objekt vlastníka IUnknown.
IUnknown* GetControllingUnknown();
Návratová hodnota
Objekt vlastníka IUnknown.
Poznámky
Tato metoda může být virtuální, pokud Base deklarovala DECLARE_GET_CONTROLLING_UNKNOWN makro.
CComContainedObject::QueryInterface
Načte ukazatel na rozhraní požadované pro objekt vlastníka.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);
Parametry
iid
[v] Identifikátor požadovaného rozhraní.
ppvObject
[ven] Ukazatel na ukazatel rozhraní identifikovaný pomocí iid. Pokud objekt nepodporuje toto rozhraní, ppvObject je nastaven na HODNOTU NULL.
Pp
[ven] Ukazatel na ukazatel rozhraní identifikovaný podle typu Q. Pokud objekt nepodporuje toto rozhraní, pp je nastavena na HODNOTU NULL.
Návratová hodnota
Standardní hodnota HRESULT.
CComContainedObject::Release
Sníží počet odkazů na objekt vlastníka.
STDMETHOD_(ULONG, Release)();
Návratová hodnota
V buildech ladění vrátí hodnotu, Release která může být užitečná pro diagnostiku nebo testování. V neladit sestavení vždy Release vrátí hodnotu 0.