Partager via


ClassFactory, classe

Implémente les fonctionnalités de base de l'interface IClassFactory.

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
    La zérotième interface.

  • I1
    La première interface.

  • I2
    La deuxième interface.

Remarques

Utilisez ClassFactory pour fournir une implémentation définie par l'utilisateur de fabrique.

Le modèle de programmation suivant démontre comment utiliser la structure Impléments pour spécifier plus de trois interfaces sur une fabrique de classe.

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

Membres

BR245075.collapse_all(fr-fr,VS.110).gifConstructeurs publics

Nom

Description

ClassFactory::ClassFactory, constructeur

BR245075.collapse_all(fr-fr,VS.110).gifMéthodes publiques

Nom

Description

ClassFactory::AddRef, méthode

Incrémente le décompte de références de l'objet ClassFactory actuel.

ClassFactory::LockServer, méthode

Incrémente ou décrémente le nombre d'objets sous-jacents suivis par l'objet ClassFactory actuel.

ClassFactory::QueryInterface, méthode

Récupère un pointeur vers l'interface spécifiée par paramètre.

ClassFactory::Release, méthode

Décrémente le décompte de références de l'objet ClassFactory actuel.

Hiérarchie d'héritage

I0

ChainInterfaces

I0

RuntimeClassBase

ImplementsHelper

DontUseNewUseMake

RuntimeClassFlags

RuntimeClassBaseT

RuntimeClass

ClassFactory

Configuration requise

En-tête: module.h

Espace de noms: Microsoft::WRL, espace de noms

Voir aussi

Référence

Microsoft::WRL, espace de noms

RuntimeClassType, énumération