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 FullTrust
hodnotu .
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í.