Compartir a través de


CFactoryTemplate (clase)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Proporciona una plantilla para crear generadores de clases.

En DirectShow, las factorías de clase se especializan mediante la clase CFactoryTemplate , también denominada plantilla de fábrica. Cada generador de clases contiene un puntero a una plantilla de fábrica. La plantilla de fábrica contiene información sobre un objeto COM, incluido el identificador de clase (CLSID) del objeto y un puntero a una función que crea el objeto.

En el archivo DLL, declare una matriz global de plantillas de fábrica denominadas g_Templates. Incluya una plantilla de fábrica para cada objeto del archivo DLL. Cuando la función DllGetClassObject realiza una nueva fábrica de clases, busca en la matriz una plantilla con un CLSID coincidente. Suponiendo que encuentra una, crea un generador de clases que contiene un puntero a la plantilla coincidente. Cuando el cliente llama a IClassFactory::CreateInstance, el generador de clases llama a la función de creación de instancias definida en la plantilla.

Para obtener más información, vea How to Create a DirectShow Filter DLL.

Variables de miembro público Descripción
m_Name Nombre del filtro.
m_ClsID Puntero al CLSID del objeto.
m_lpfnNew Puntero a una función que crea una instancia del objeto .
m_lpfnInit Puntero a una función a la que se llama desde el punto de entrada dll.
m_pAMovieSetup_Filter Puntero a una estructura de AMOVIESETUP_FILTER .
Métodos públicos Descripción
IsClassID Determina si un CLSID coincide con esta plantilla de clase.
CreateInstance Llama a la función de creación de objetos para la clase .

Requisitos

Requisito Value
Encabezado
Combase.h (include Streams.h)
Biblioteca
Strmbase.lib;
Strmbasd.lib

Consulte también

Referencia de clase base