Třída RuntimeClass

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::FtmBaseTInterfaces 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

Jméno popis
RuntimeClass::RuntimeClass Inicializuje aktuální instanci RuntimeClass třídy.
RuntimeClass::~RuntimeClass Deinicializuje aktuální instanci RuntimeClass třídy.

Veřejné metody

Jméno 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();