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 |
|
Bibliothek |
|