Freigeben über


CFactoryTemplate-Klasse

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Stellt eine Vorlage zum Erstellen von Klassenfabriken bereit.

In DirectShow sind Klassenfabriken mit der CFactoryTemplate-Klasse spezialisiert, die auch als Factoryvorlage bezeichnet wird. Jede Klassenfactory enthält einen Zeiger auf eine Factoryvorlage. Die Factoryvorlage enthält Informationen zu einem COM-Objekt, einschließlich des Klassenbezeichners (CLSID) des Objekts und einem Zeiger auf eine Funktion, die das Objekt erstellt.

Deklarieren Sie in Ihrer DLL ein globales Array von Factoryvorlagen mit dem Namen g_Templates. Fügen Sie eine Factoryvorlage für jedes Objekt in die DLL ein. Wenn die DllGetClassObject-Funktion eine neue Klassenfactory erstellt, durchsucht sie das Array nach einer Vorlage mit einer übereinstimmenden CLSID. Wenn eine gefunden wird, wird eine Klassenfactory erstellt, die einen Zeiger auf die übereinstimmende Vorlage enthält. Wenn der Client IClassFactory::CreateInstance aufruft, ruft die Klassenfactory die in der Vorlage definierte Instanziierungsfunktion auf.

Weitere Informationen finden Sie unter Erstellen einer DirectShow-Filter-DLL.

Öffentliche Membervariablen BESCHREIBUNG
m_Name Name des Filters.
m_ClsID Zeiger auf die CLSID des -Objekts.
m_lpfnNew Zeiger auf eine Funktion, die eine instance des Objekts erstellt.
m_lpfnInit Zeiger auf eine Funktion, die vom DLL-Einstiegspunkt aufgerufen wird.
m_pAMovieSetup_Filter Zeiger auf eine AMOVIESETUP_FILTER-Struktur .
Öffentliche Methoden BESCHREIBUNG
IsClassID Bestimmt, ob eine CLSID mit dieser Klassenvorlage übereinstimmt.
CreateInstance Ruft die Objekterstellungsfunktion für die -Klasse auf.

Anforderungen

Anforderung Wert
Header
Combase.h (Streams.h einschließen)
Bibliothek
Strmbase.lib;
Strmbasd.lib

Siehe auch

Basisklassenreferenz