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) |