Deklarieren der Factoryvorlage
Der nächste Schritt besteht darin, die Factoryvorlage für Ihren Filter zu deklarieren. Eine Factoryvorlage ist eine C++-Klasse, die Informationen für die Klassenfactory enthält. Deklarieren Sie in ihrer DLL ein globales Array von CFactoryTemplate-Objekten, eines für jeden Filter oder jede COM-Komponente in ihrer DLL. Das Array muss den Namen g _ Templates haben. Weitere Informationen zu Factoryvorlagen finden Sie unter Erstellen einer DirectShow-Filter-DLL.
Das m _ pAMovieSetup _ Filter-Element der Factoryvorlage ist ein Zeiger auf die zuvor beschriebene AMOVIESETUP _ FILTER-Struktur. Das folgende Beispiel zeigt eine Factoryvorlage unter Verwendung der im vorherigen Beispiel angegebenen Struktur:
CFactoryTemplate g_Templates[] = {
{
g_wszName, // Name.
&CLSID_SomeFilter, // CLSID.
CSomeFilter::CreateInstance, // Creation function.
NULL,
&sudFilterReg // Pointer to filter information.
}
};
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
Wenn Sie keine Filterinformationen deklariert haben, kann _ der pAMoveSetup-Filter _ NULL sein.