Compartir a través de


Estructura KSFILTERFACTORY (ks.h)

La estructura KSFILTERFACTORY representa un generador de filtros.

Sintaxis

typedef struct _KSFILTERFACTORY {
  const KSFILTER_DESCRIPTOR *FilterDescriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;

Miembros

FilterDescriptor

Puntero a una estructura KSFILTER_DESCRIPTOR que describe las características de los filtros creados por esta fábrica.

Bag

Este miembro especifica el KSOBJECT_BAG (equivalente al tipo PVOID) asociado a este generador de filtros. Los contenedores de objetos son estructuras que se usan para asociar la memoria dinámica a un objeto AVStream específico. Todo lo que se encuentra en el contenedor de objetos de fábrica de filtros se limpia automáticamente cuando se elimina el generador de filtros. Consulte la sección conceptual sobre bolsas de objetos para obtener más información.

Context

Puntero a una dirección de memoria que el cliente puede usar para asociar información de contexto al generador de filtros. AVStream no usa este miembro de ninguna manera. Tenga en cuenta que cualquier memoria dinámica asociada al generador de filtros debe colocarse en el contenedor de objetos con KsAddItemToObjectBag. de contexto se inicializa con el valor del miembro Context del KSDEVICE primario en el momento en que se crea la factoría. Consulte jerarquía de objetos AVStream.

Observaciones

Un generador de filtros representa explícitamente la capacidad de un dispositivo para crear instancias de un tipo determinado de filtro, tal como se describe en un descriptor de filtro.

Los controladores de hardware suelen usar esta estructura para administrar una función determinada del hardware que se expone como un tipo de filtro. Por lo general, los filtros de software no necesitan administrar el dispositivo en este nivel.

Los objetos de generador de filtros se crean de dos maneras. Se pueden crear durante el procesamiento addDevice tal como se indica en la lista de descriptores de filtro del descriptor de dispositivo. El cliente también puede crearlos explícitamente en una llamada a KsCreateFilterFactory. El cliente puede crear generadores de filtros en cualquier momento, pero normalmente esto se realiza durante el procesamiento del IRP de inicio de PnP cuando una evaluación de recursos asignados indica qué tipos de filtros debe exponer el dispositivo.

Para la sincronización, la duración de las factorías de filtro creadas implícitamente se define como el intervalo que comienza cuando se llama a la función de distribución de creación de dispositivos del cliente (o sería) y finaliza después de llamar a la función de distribución de eliminación de PnP del dispositivo del cliente (o sería). La duración de los generadores de filtros creados explícitamente llamando a KsCreateFilterFactory se inicia inmediatamente después de que se devuelva esa llamada.

Vea también bolsas de objetos.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Microsoft Windows XP y sistemas operativos posteriores y en Microsoft DirectX 8.0 y versiones posteriores.
encabezado de ks.h (incluya Ks.h)

Consulte también

KSFILTER_DESCRIPTOR

KsAddItemToObjectBag

KsCreateFilterFactory