ActivationFactory, classe
Permet à une ou plusieurs classes d'être activées par le Windows Runtime.
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>;
Paramètres
I0
La zérotième interface.I1
La première interface.I2
La deuxième interface.
Remarques
ActivationFactory fournit des méthodes d'inscription et les fonctionnalités de base de l'interface IActivationFactory.ActivationFactory vous permet également de fournir une implémentation de fabrique personnalisée.
Le fragment de code suivant montre symboliquement comment utiliser 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);
Le fragment de code suivant montre comment utiliser la structure Implements pour spécifier plus de trois IDs d'interface.
struct MyFactory : ActivationFactory<Implements<I1, I2, I3>, I4, I5>;
Membres
Constructeurs publics
Nom |
Description |
---|---|
Initialise la classe ActivationFactory. |
Méthodes publiques
Nom |
Description |
---|---|
Incrémente le décompte de références de l'objet ActivationFactory actuel. |
|
Récupère un tableau d'IDs d'interface implémentés. |
|
Obtient le nom de la classe d'exécution de l'objet que l'ActivationFactory actuel instancie. |
|
Obtient le niveau de confiance de l'objet qu'instancie l'ActivationFactory actuelle. |
|
Récupère un pointeur vers l'interface spécifiée. |
|
Décrémente le décompte de références de l'objet ActivationFactory actuel. |
Hiérarchie d'héritage
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ActivationFactory
Configuration requise
En-tête: module.h
Espace de noms: Microsoft::WRL, espace de noms