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 de fabrique définie par utilisateur.

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

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

Membres

Constructeurs publics

Nom

Description

ClassFactory::ClassFactory, constructeur

M&#233;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

Voir aussi

Référence

Microsoft::WRL, espace de noms

RuntimeClassType, énumération