Sdílet prostřednictvím


ActivationFactory – třída

Umožňuje aktivaci jedné nebo více tříd prostředí Windows Runtime.

Syntaxe

template <
    typename I0 = Details::Nil,
    typename I1 = Details::Nil,
    typename I2 = Details::Nil
>
class ActivationFactory :
    public Details::RuntimeClass<
        typename Details::InterfaceListHelper<
            IActivationFactory,
            I0,
            I1,
            I2,
            Details::Nil
        >::TypeT,
        RuntimeClassFlags<WinRt | InhibitWeakReference>,
        false
    >;

Parametry

I0
Nulové rozhraní.

I1
První rozhraní.

I2
Druhé rozhraní.

Poznámky

ActivationFactory poskytuje metody registrace a základní funkce rozhraní IActivationFactory . ActivationFactory umožňuje také poskytnout vlastní implementaci továrny.

Následující fragment kódu symbolicky ukazuje, jak používat ActivationFactory.

struct MyClassFactory : public ActivationFactory<IMyAddtionalInterfaceOnFactory>
{
    STDMETHOD(ActivateInstance) (_Outptr_result_nullonfailure_ IInspectable** ppvObject)
    {
        // my custom implementation

        return S_OK;
    }
};

ActivatableClassWithFactory(MyClass, MyClassFactory);
// or if a default factory is used:
//ActivatableClassWithFactory(MyClass, SimpleActivationFactory);

Následující fragment kódu ukazuje, jak pomocí struktury Implements zadat více než tři ID rozhraní.

struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;

Členové

Veřejné konstruktory

Název Popis
ActivationFactory::ActivationFactory Inicializuje ActivationFactory třídu.

Veřejné metody

Název Popis
ActivationFactory::AddRef Zvýší počet odkazů aktuálního ActivationFactory objektu.
ActivationFactory::GetIids Načte pole implementovaných ID rozhraní.
ActivationFactory::GetRuntimeClassName Získá název třídy modulu runtime objektu, který aktuální ActivationFactory instance.
ActivationFactory::GetTrustLevel Získá úroveň důvěryhodnosti objektu, který aktuální ActivationFactory instance.
ActivationFactory::QueryInterface Načte ukazatel na zadané rozhraní.
ActivationFactory::Release Sníží počet odkazů aktuálního ActivationFactory objektu.

Hierarchie dědičnosti

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Požadavky

Hlavička: module.h

Obor názvů: Microsoft::WRL

ActivationFactory::ActivationFactory

Inicializuje ActivationFactory třídu.

ActivationFactory();

ActivationFactory::AddRef

Zvýší počet odkazů aktuálního ActivationFactory objektu.

STDMETHOD_(
   ULONG,
   AddRef
)();

Návratová hodnota

S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.

ActivationFactory::GetIids

Načte pole implementovaných ID rozhraní.

STDMETHOD(
   GetIids
)(_Out_ ULONG *iidCount, _Deref_out_ _Deref_post_cap_(*iidCount) IID **iids);

Parametry

iidCount
Po dokončení této operace počet ID rozhraní v poli iids .

iids
Po dokončení této operace je pole implementovaných ID rozhraní.

Návratová hodnota

S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání. E_OUTOFMEMORY je možné selhání HRESULT.

ActivationFactory::GetRuntimeClassName

Získá název třídy modulu runtime objektu, který aktuální ActivationFactory instance.

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Parametry

runtimeName
Po dokončení této operace popisovač řetězce, který obsahuje název třídy runtime objektu, který aktuální ActivationFactory instance vytvoří instance.

Návratová hodnota

S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.

ActivationFactory::GetTrustLevel

Získá úroveň důvěryhodnosti objektu, který aktuální ActivationFactory instance.

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Parametry

trustLvl
Po dokončení této operace úroveň důvěryhodnosti třídy modulu runtime, která ActivationFactory vytvoří instanci.

Návratová hodnota

S_OK v případě úspěchu; jinak se vygeneruje chyba kontrolního výrazu a hodnota trustLvl je nastavena na FullTrusthodnotu .

ActivationFactory::QueryInterface

Načte ukazatel na zadané rozhraní.

STDMETHOD(
   QueryInterface
)(REFIID riid, _Deref_out_ void **ppvObject);

Parametry

riid
ID rozhraní.

ppvObject
Po dokončení této operace je ukazatel na rozhraní určené riid parametru.

Návratová hodnota

S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.

ActivationFactory::Release

Sníží počet odkazů aktuálního ActivationFactory objektu.

STDMETHOD_(
   ULONG,
   Release
)();

Návratová hodnota

S_OK v případě úspěchu; jinak hodnota HRESULT, která popisuje selhání.