ClassFactory (classe)
Implémente les fonctionnalités de base de l'interface IClassFactory
.
Syntaxe
template <
typename I0 = Details::Nil,
typename I1 = Details::Nil,
typename I2 = Details::Nil
>
class ClassFactory :
public Details::RuntimeClass<
typename Details::InterfaceListHelper<
IClassFactory,
I0,
I1,
I2,
Details::Nil
>::TypeT,
RuntimeClassFlags<ClassicCom | InhibitWeakReference>,
false
>;
Paramètres
I0
Interface zéro.
I1
Première interface.
I2
Deuxième interface.
Notes
Utiliser ClassFactory
pour fournir une implémentation de fabrique définie par l’utilisateur.
Le modèle de programmation suivant montre comment utiliser la structure Implements pour spécifier plus de trois interfaces sur une fabrique de classes.
struct MyFactory : ClassFactory<Implements<I1, I2, I3>, I4, I5>
Membres
Constructeurs publics
Nom | Description |
---|---|
ClassFactory ::ClassFactory |
Méthodes publiques
Nom | Description |
---|---|
ClassFactory ::AddRef | Incrémente le nombre de références pour l’objet actuel ClassFactory . |
ClassFactory ::LockServer | Incrémente ou décrémente le nombre d’objets sous-jacents suivis par l’objet actuel ClassFactory . |
ClassFactory ::QueryInterface | Récupère un pointeur vers l’interface spécifiée par paramètre. |
ClassFactory ::Release | Décrémente le nombre de références de l’objet actuel ClassFactory . |
Hiérarchie d'héritage
I0
ChainInterfaces
I0
RuntimeClassBase
ImplementsHelper
DontUseNewUseMake
RuntimeClassFlags
RuntimeClassBaseT
RuntimeClass
ClassFactory
Spécifications
En-tête : module.h
Espace de noms : Microsoft::WRL
ClassFactory ::AddRef
Incrémente le nombre de références pour l’objet actuel ClassFactory
.
STDMETHOD_(
ULONG,
AddRef
)();
Valeur de retour
S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.
ClassFactory ::ClassFactory
WRL_NOTHROW ClassFactory();
ClassFactory ::LockServer
Incrémente ou décrémente le nombre d’objets sous-jacents suivis par l’objet actuel ClassFactory
.
STDMETHOD(
LockServer
)(BOOL fLock);
Paramètres
troupeau
true
pour incrémenter le nombre d’objets suivis. false
pour décrémenter le nombre d’objets suivis.
Valeur de retour
S_OK en cas de réussite ; sinon, E_FAIL.
Notes
ClassFactory
effectue le suivi des objets dans une instance sous-jacente de la classe Module .
ClassFactory ::QueryInterface
Récupère un pointeur vers l’interface spécifiée par paramètre.
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.
ClassFactory ::Release
Décrémente le nombre de références de l’objet actuel ClassFactory
.
STDMETHOD_(
ULONG,
Release
)();
Valeur de retour
S_OK en cas de succès. Sinon, valeur HRESULT qui décrit l’erreur.