Condividi tramite


Struttura KSFILTER (ks.h)

La struttura KSFILTER descrive un filtro di cui è stata creata un'istanza.

Sintassi

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

Membri

Descriptor

Puntatore a una struttura KSFILTER_DESCRIPTOR che descrive le caratteristiche di questo particolare filtro.

Bag

Questo membro specifica il KSOBJECT_BAG (equivalente al tipo PVOID) associato a questa istanza del filtro. i contenitori di oggetti sono strutture usate per associare la memoria dinamica a un oggetto AVStream specifico. Qualsiasi elemento nel contenitore di oggetti filtro viene pulito automaticamente quando il filtro viene eliminato.

Context

Puntatore utilizzato dal client per associare le informazioni di contesto all'istanza di filtro specifica. In genere, tali informazioni di contesto sono associate nel membro Create del filtro come definito nella tabella KSFILTER_DISPATCH per questa istanza di filtro. Qualsiasi informazione sul contesto allocata dinamicamente deve essere inserita nel contenitore oggetti con KsAddItemToObjectBag. Context viene inizializzato sul valore del membro Context del padre KSFILTERFACTORY al momento della creazione del filtro. Vedere gerarchia di oggetti AVStream.

Osservazioni

I driver che implementano filtri software associano in genere lo stato del filtro alla struttura KSFILTER. I filtri software elaborano in genere i dati all'interno del callback specificato dal membro processo di della struttura KSFILTER_DISPATCH corrispondente.

I filtri hardware in genere non usano KSFILTER perché lo stato attivo del driver hardware è la transizione della piattaforma: lo spostamento dei dati tra l'host e l'hardware esterno. Questa transizione viene in genere gestita dal codice associato a un oggetto coda AVStream.

Vedere anche contenitori di oggetti.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in Microsoft DirectX 8.0 e versioni successive.
intestazione ks.h (include Ks.h)

Vedere anche

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest