Estrutura KSFILTER (ks.h)

A estrutura KSFILTER descreve um filtro instanciado.

Sintaxe

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

Membros

Descriptor

Um ponteiro para uma estrutura KSFILTER_DESCRIPTOR que descreve as características desse filtro específico.

Bag

Esse membro especifica o KSOBJECT_BAG (equivalente ao tipo PVOID) associado a essa instância de filtro. Os Sacos de Objeto são estruturas usadas para associar memória dinâmica a um objeto AVStream específico. Qualquer coisa no recipiente de objetos de filtro é limpa automaticamente quando o filtro é excluído.

Context

Um ponteiro usado pelo cliente para associar informações de contexto à instância de filtro específica. Normalmente, essas informações de contexto são associadas ao membro Create do filtro, conforme definido na tabela KSFILTER_DISPATCH dessa instância de filtro. Todas as informações de contexto alocadas dinamicamente devem ser colocadas no recipiente de objetos com KsAddItemToObjectBag. O contexto é inicializado para o valor do membro Context do KSFILTERFACTORY pai no momento em que o filtro é criado. Consulte Hierarquia de objetos AVStream.

Comentários

Os drivers que implementam filtros de software normalmente associam o estado do filtro à estrutura KSFILTER. Os filtros de software geralmente processam dados dentro do retorno de chamada especificado pelo membro Process da estrutura de KSFILTER_DISPATCH correspondente.

Os filtros de hardware normalmente não usam KSFILTER porque o foco do driver de hardware é a transição de plataforma: a movimentação de dados entre o host e o hardware externo. Normalmente, essa transição é tratada pelo código associado a um objeto de fila AVStream.

Confira também Sacos de Objeto.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no Microsoft DirectX 8.0 e versões posteriores.
Cabeçalho ks.h (inclua Ks.h)

Confira também

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest