Partager via


ActivationFactory (classe)

Permet à une ou plusieurs classes d'être activées par le 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
    >;

Paramètres

I0
Interface zéro.

I1
Première interface.

I2
Deuxième interface.

Notes

ActivationFactory fournit des méthodes d’inscription et des fonctionnalités de base pour l’interface IActivationFactory . ActivationFactory vous permet également de fournir une implémentation de fabrique personnalisée.

Le fragment de code suivant illustre 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 ID d’interface.

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

Membres

Constructeurs publics

Nom Description
ActivationFactory ::ActivationFactory Initialise la classe ActivationFactory.

Méthodes publiques

Nom Description
ActivationFactory ::AddRef Incrémente le nombre de références de l’objet actuel ActivationFactory .
ActivationFactory ::GetIids Récupère un tableau d’ID d’interface implémentés.
ActivationFactory ::GetRuntimeClassName Obtient le nom de classe runtime de l’objet instancié actuel ActivationFactory .
ActivationFactory ::GetTrustLevel Obtient le niveau d’approbation de l’objet que l’instanciation actuelle ActivationFactory .
ActivationFactory ::QueryInterface Récupère un pointeur vers l’interface spécifiée.
ActivationFactory ::Release Décrémente le nombre de références de l’objet actuel ActivationFactory .

Hiérarchie d'héritage

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ActivationFactory

Spécifications

En-tête : module.h

Espace de noms : Microsoft::WRL

ActivationFactory ::ActivationFactory

Initialise la classe ActivationFactory.

ActivationFactory();

ActivationFactory ::AddRef

Incrémente le nombre de références de l’objet actuel ActivationFactory .

STDMETHOD_(
   ULONG,
   AddRef
)();

Valeur de retour

S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.

ActivationFactory ::GetIids

Récupère un tableau d’ID d’interface implémentés.

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

Paramètres

iidCount
Une fois cette opération terminée, nombre d’ID d’interface dans le tableau iids .

iids
Une fois cette opération terminée, un tableau d’ID d’interface implémentés.

Valeur de retour

S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur. E_OUTOFMEMORY est un échec possible HRESULT.

ActivationFactory ::GetRuntimeClassName

Obtient le nom de classe runtime de l’objet instancié actuel ActivationFactory .

STDMETHOD(
   GetRuntimeClassName
)(_Out_ HSTRING* runtimeName);

Paramètres

runtimeName
Une fois cette opération terminée, un handle vers une chaîne qui contient le nom de classe runtime de l’objet instancié actuel ActivationFactory .

Valeur de retour

S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.

ActivationFactory ::GetTrustLevel

Obtient le niveau d’approbation de l’objet que l’instanciation actuelle ActivationFactory .

STDMETHOD(
   GetTrustLevel
)(_Out_ TrustLevel* trustLvl);

Paramètres

trustLvl
Une fois cette opération terminée, niveau d’approbation de la classe runtime instanciée ActivationFactory .

Valeur de retour

S_OK en cas de réussite ; sinon, une erreur d’assertion est émise et trustLvl a la valeur FullTrust.

ActivationFactory ::QueryInterface

Récupère un pointeur vers l’interface spécifiée.

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

Paramètres

riid
ID d’interface.

ppvObject
Une fois cette opération terminée, pointeur vers l’interface spécifiée par riid de paramètre.

Valeur de retour

S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.

ActivationFactory ::Release

Décrémente le nombre de références de l’objet actuel ActivationFactory .

STDMETHOD_(
   ULONG,
   Release
)();

Valeur de retour

S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.