Condividi tramite


Struttura KSFILTER (ks.h)

La struttura KSFILTER descrive un filtro creato in modo istantaneo.

Sintassi

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

Members

Descriptor

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

Bag

Questo membro specifica la KSOBJECT_BAG (equivalente al tipo PVOID) associata a questa istanza di filtro. I borse oggetti sono strutture usate per associare memoria dinamica a un oggetto AVStream specifico. Qualsiasi elemento nel contenitore dell'oggetto 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 al membro Create del filtro come definito nella tabella KSFILTER_DISPATCH per questa istanza di filtro. Qualsiasi informazione di contesto allocata dinamicamente deve essere inserita nell'oggetto bag con KsAddItemToObjectBag. Il contesto viene inizializzato al valore del membro Context del KSFILTERFACTORY padre al momento della creazione del filtro. Vedere Gerarchia di oggetti AVStream.

Commenti

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 Process della struttura di 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 Borse oggetto.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows XP e versioni successive e in Microsoft DirectX 8.0 e versioni successive.
Intestazione ks.h (include Ks.h)

Vedi anche

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest