Partager via


SimpleClassFactory (classe)

Fournit un mécanisme fondamental pour créer une classe de base.

Syntaxe

template<typename Base>
class SimpleClassFactory : public ClassFactory<>;

Paramètres

Base
Classe de base.

Notes

La classe de base doit fournir un constructeur par défaut.

L’exemple de code suivant montre comment utiliser SimpleClassFactory avec la macro ActivateableClassWithFactoryEx .

ActivatableClassWithFactoryEx(MyClass, SimpleClassFactory, MyServerName);

Membres

Méthodes publiques

Nom Description
SimpleClassFactory::CreateInstance, méthode Crée une instance de l’interface spécifiée.

Hiérarchie d'héritage

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

SimpleClassFactory

Spécifications

En-tête : module.h

Espace de noms : Microsoft::WRL

SimpleClassFactory::CreateInstance, méthode

Crée une instance de l’interface spécifiée.

STDMETHOD( CreateInstance )(
   _Inout_opt_ IUnknown* pUnkOuter,
   REFIID riid,
   _Deref_out_ void** ppvObject
);

Paramètres

pUnkOuter
Doit être nullptr; sinon, la valeur de retour est CLASS_E_NOAGGREGATION.

SimpleClassFactory ne prend pas en charge l’agrégation. Si l’agrégation a été prise en charge et que l’objet créé faisait partie d’un agrégat, pUnkOuter serait un pointeur vers l’interface de contrôle IUnknown de l’agrégat.

riid
ID d’interface de l’objet à créer.

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

Valeur de retour

S_OK si l'opération réussit. Sinon, une valeur HRESULT indique l'erreur.

Notes

Si __WRL_STRICT__ elle est définie, une erreur d’assertion est émise si la classe de base spécifiée dans le paramètre de modèle de classe n’est pas dérivée de RuntimeClass ou n’est pas configurée avec la valeur d’énumération ClassicCom ou WinRtClassicComMix RuntimeClassType .