Estructura KSFILTER (ks.h)

La estructura KSFILTER describe un filtro con instancias.

Sintaxis

typedef struct _KSFILTER {
  const KSFILTER_DESCRIPTOR *Descriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTER, *PKSFILTER;

Miembros

Descriptor

Puntero a una estructura KSFILTER_DESCRIPTOR que describe las características de este filtro en particular.

Bag

Este miembro especifica el KSOBJECT_BAG (equivalente al tipo PVOID) asociado a esta instancia de filtro. Las bolsas 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 filtro se limpia automáticamente cuando se elimina el filtro.

Context

Puntero que usa el cliente para asociar información de contexto a la instancia de filtro específica. Normalmente, esta información de contexto se asocia en el miembro Create del filtro tal y como se define en la tabla KSFILTER_DISPATCH para esta instancia de filtro. Cualquier información de contexto asignada dinámicamente debe colocarse en el contenedor de objetos con KsAddItemToObjectBag. El contexto se inicializa con el valor del miembro Context del KSFILTERFACTORY primario en el momento en que se crea el filtro. Consulte Jerarquía de objetos AVStream.

Comentarios

Los controladores que implementan filtros de software suelen asociar el estado de filtro a la estructura KSFILTER. Los filtros de software suelen procesar datos dentro de la devolución de llamada especificada por el miembro Process de la estructura KSFILTER_DISPATCH correspondiente.

Los filtros de hardware normalmente no usan KSFILTER porque el foco del controlador de hardware es la transición de la plataforma: el movimiento de datos entre el host y el hardware externo. Normalmente, esta transición se controla mediante código asociado a un objeto de cola AVStream.

Consulte también Bolsas de objetos.

Requisitos

   
Cliente mínimo compatible Disponible en Microsoft Windows XP y en sistemas operativos posteriores y en Microsoft DirectX 8.0 y versiones posteriores.
Encabezado ks.h (incluye Ks.h)

Consulte también

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest