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.

Registrieren von DirectShow-Filtern