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.