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.
Třída
Představuje WinRT nebo COM třídy, která dědí zadaná rozhraní a poskytuje zadanou prostředí Windows Runtime, klasickou modelu COM a slabou referenční podporu.
Tato třída poskytuje často používané implementace WinRT a TŘÍDY COM, poskytuje implementaci QueryInterface, AddRefRelease atd., spravuje referenční počet modulu a má podporu pro poskytování objektu třídy pro aktivaci objektů.
Syntaxe
template <typename ...TInterfaces> class RuntimeClass
template <unsigned int classFlags, typename ...TInterfaces> class RuntimeClass;
Parametry
classFlags
Volitelný parametr. Kombinace jedné nebo více RuntimeClassType hodnot výčtu. Makro __WRL_CONFIGURATION_LEGACY__ lze definovat tak, aby změnilo výchozí hodnotu classFlags pro všechny třídy modulu runtime v projektu. Pokud jsou definované, RuntimeClass instance nejsou ve výchozím nastavení agilní. Pokud nejsou definované, RuntimeClass instance jsou ve výchozím nastavení agilní. Chcete-li předejít nejednoznačnosti, vždy zadejte in Microsoft::WRL::FtmBase TInterfaces nebo RuntimeClassType::InhibitFtmBase. Pokud InhibitFtmBase se FtmBase oba používají, bude objekt agilní.
TInterfaces
Seznam rozhraní, která objekt implementuje nad IUnknownrámec , IInspectable nebo jiné rozhraní řízené RuntimeClassType. Může také uvést další třídy, které mají být odvozeny, zejména Microsoft::WRL::FtmBase aby byl objekt agilní a způsobit jeho implementaci IMarshal.
Členové
RuntimeClassInitialize
Funkce, která inicializuje objekt, pokud MakeAndInitialize je šablona funkce použita k vytvoření objektu. S_OK Vrátí, pokud byl objekt úspěšně inicializován, nebo kód chyby modelu COM, pokud inicializace selhala. Kód chyby modelu COM se rozšíří jako návratová MakeAndInitializehodnota . Metoda RuntimeClassInitialize není volána, pokud Make se šablona funkce používá k vytvoření objektu.
Veřejné konstruktory
| Název | Popis |
|---|---|
RuntimeClass::RuntimeClass |
Inicializuje aktuální instanci RuntimeClass třídy. |
RuntimeClass::~RuntimeClass |
Deinicializuje aktuální instanci RuntimeClass třídy. |
Veřejné metody
| Název | Popis |
|---|---|
RuntimeClass::AddRef |
Zvýší počet odkazů pro aktuální RuntimeClass objekt. |
RuntimeClass::DecrementReference |
Sníží počet odkazů pro aktuální RuntimeClass objekt. |
RuntimeClass::GetIids |
Získá pole, které může obsahovat ID rozhraní implementované aktuálním RuntimeClass objektem. |
RuntimeClass::GetRuntimeClassName |
Získá název třídy runtime aktuálního RuntimeClass objektu. |
RuntimeClass::GetTrustLevel |
Získá úroveň důvěryhodnosti aktuálního RuntimeClass objektu. |
RuntimeClass::GetWeakReference |
Získá ukazatel na slabý odkaz objekt pro aktuální RuntimeClass objekt. |
RuntimeClass::InternalAddRef |
Zvýší počet odkazů na aktuální RuntimeClass objekt. |
RuntimeClass::QueryInterface |
Načte ukazatel na zadané ID rozhraní. |
RuntimeClass::Release |
Provede operaci uvolnění modelu COM u aktuálního RuntimeClass objektu. |
Hierarchie dědičnosti
Hierarchie je podrobnosti implementace.
Požadavky
Hlavička: implements.h
Obor názvů: Microsoft::WRL
RuntimeClass::~RuntimeClass
Deinicializuje aktuální instanci RuntimeClass třídy.
virtual ~RuntimeClass();
RuntimeClass::AddRef
Zvýší počet odkazů pro aktuální RuntimeClass objekt.
STDMETHOD_(
ULONG,
AddRef
)();
Vrácená hodnota
S_OK v případě úspěchu; jinak označuje HRESULT chybu.
RuntimeClass::DecrementReference
Sníží počet odkazů pro aktuální RuntimeClass objekt.
ULONG DecrementReference();
Vrácená hodnota
S_OK v případě úspěchu; jinak označuje HRESULT chybu.
RuntimeClass::GetIids
Získá pole, které může obsahovat ID rozhraní implementované aktuálním RuntimeClass objektem.
STDMETHOD(
GetIids
)
(_Out_ ULONG *iidCount,
_Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);
Parametry
iidCount
Po dokončení této operace celkový počet prvků v poli iids.
iids
Po dokončení této operace se ukazatel na pole ID rozhraní.
Vrácená hodnota
V případě úspěchu nabývá hodnoty S_OK, v opačném případě hodnoty E_OUTOFMEMORY.
RuntimeClass::GetRuntimeClassName
Získá název třídy runtime aktuálního RuntimeClass objektu.
STDMETHOD( GetRuntimeClassName )(
_Out_ HSTRING* runtimeName
);
Parametry
runtimeName
Po dokončení této operace název třídy modulu runtime.
Vrácená hodnota
S_OK v případě úspěchu; jinak označuje HRESULT chybu.
Poznámky
Chyba assert se vygeneruje, pokud __WRL_STRICT__ není __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ definovaná.
RuntimeClass::GetTrustLevel
Získá úroveň důvěryhodnosti aktuálního RuntimeClass objektu.
STDMETHOD(GetTrustLevel)(
_Out_ TrustLevel* trustLvl
);
Parametry
trustLvl
Po dokončení této operace je úroveň důvěryhodnosti aktuálního RuntimeClass objektu.
Vrácená hodnota
Vždy hodnota S_OK.
Poznámky
Chyba assert se vygeneruje, pokud __WRL_STRICT__ není __WRL_FORCE_INSPECTABLE_CLASS_MACRO__ definovaná.
RuntimeClass::GetWeakReference
Získá ukazatel na slabý odkaz objekt pro aktuální RuntimeClass objekt.
STDMETHOD(
GetWeakReference
)(_Deref_out_ IWeakReference **weakReference);
Parametry
weakReference
Po dokončení této operace je ukazatel na slabý referenční objekt.
Vrácená hodnota
Vždy hodnota S_OK.
RuntimeClass::InternalAddRef
Zvýší počet odkazů na aktuální RuntimeClass objekt.
ULONG InternalAddRef();
Vrácená hodnota
Výsledný počet odkazů.
RuntimeClass::QueryInterface
Načte ukazatel na zadané ID rozhraní.
STDMETHOD(
QueryInterface
)
(REFIID riid,
_Deref_out_ void **ppvObject);
Parametry
riid
ID rozhraní.
ppvObject
Po dokončení této operace ukazatel na rozhraní určené parametrem riid .
Vrácená hodnota
S_OK v případě úspěchu; jinak označuje HRESULT chybu.
RuntimeClass::Release
Provede operaci uvolnění modelu COM u aktuálního RuntimeClass objektu.
STDMETHOD_(
ULONG,
Release
)();
Vrácená hodnota
S_OK v případě úspěchu; jinak označuje HRESULT chybu.
Poznámky
Pokud se počet odkazů změní na nulu RuntimeClass , objekt se odstraní.
RuntimeClass::RuntimeClass
Inicializuje aktuální instanci RuntimeClass třídy.
RuntimeClass();