Partager via


Classe CFactoryTemplate

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Fournit un modèle pour créer des fabriques de classes.

Dans DirectShow, les fabriques de classes sont spécialisées à l’aide de la classe CFactoryTemplate , également appelée modèle de fabrique. Chaque fabrique de classe contient un pointeur vers un modèle de fabrique. Le modèle de fabrique contient des informations sur un objet COM, notamment l’identificateur de classe (CLSID) de l’objet et un pointeur vers une fonction qui crée l’objet.

Dans votre DLL, déclarez un tableau global de modèles d’usine nommé g_Templates. Incluez un modèle de fabrique pour chaque objet dans la DLL. Lorsque la fonction DllGetClassObject crée une nouvelle fabrique de classes, elle recherche dans le tableau un modèle avec un CLSID correspondant. En supposant qu’il en trouve un, il crée une fabrique de classes qui contient un pointeur vers le modèle correspondant. Lorsque le client appelle IClassFactory::CreateInstance, la fabrique de classes appelle la fonction d’instanciation définie dans le modèle.

Pour plus d’informations, consultez Création d’une DLL de filtre DirectShow.

Variables membres publiques Description
m_Name Nom du filtre.
m_ClsID Pointeur vers le CLSID de l’objet.
m_lpfnNew Pointeur vers une fonction qui crée une instance de l’objet.
m_lpfnInit Pointeur vers une fonction appelée à partir du point d’entrée dll.
m_pAMovieSetup_Filter Pointeur vers une structure AMOVIESETUP_FILTER .
Méthodes publiques Description
IsClassID Détermine si un CLSID correspond à ce modèle de classe.
CreateInstance Appelle la fonction de création d’objet pour la classe .

Configuration requise

Condition requise Valeur
En-tête
Combase.h (include Streams.h)
Bibliothèque
Strmbase.lib;
Strmbasd.lib

Voir aussi

Référence de la classe de base