Condividi tramite


Classe CFactoryTemplate

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Fornisce un modello per la creazione di class factory.

In DirectShow le class factory sono specializzate usando la classe CFactoryTemplate , denominata anche modello di factory. Ogni classe factory contiene un puntatore a un modello di factory. Il modello di factory contiene informazioni su un oggetto COM, incluso l'identificatore della classe dell'oggetto (CLSID) e un puntatore a una funzione che crea l'oggetto.

Nella DLL dichiarare una matrice globale di modelli di factory denominati g_Templates. Includere un modello factory per ogni oggetto nella DLL. Quando la funzione DllGetClassObject crea una nuova factory di classi, cerca la matrice per un modello con un CLSID corrispondente. Supponendo che trovi uno, crea una classe factory che contiene un puntatore al modello corrispondente. Quando il client chiama IClassFactory::CreateInstance, la classe factory chiama la funzione di creazione di istanze definita nel modello.

Per altre informazioni, vedere Come creare una DLL del filtro DirectShow.

Variabili membro pubbliche Descrizione
m_Name Nome del filtro.
m_ClsID Puntatore al CLSID dell'oggetto.
m_lpfnNew Puntatore a una funzione che crea un'istanza dell'oggetto.
m_lpfnInit Puntatore a una funzione che viene chiamata dal punto di ingresso della DLL.
m_pAMovieSetup_Filter Puntatore a una struttura AMOVIESETUP_FILTER .
Metodi pubblici Descrizione
IsClassID Determina se un CLSID corrisponde a questo modello di classe.
CreateInstance Chiama la funzione di creazione dell'oggetto per la classe.

Requisiti

Requisito Valore
Intestazione
Combase.h (includere Streams.h)
Libreria
Strmbase.lib;
Strmbasd.lib

Vedi anche

Informazioni di riferimento sulla classe base