Condividi tramite


Struttura KSFILTERFACTORY (ks.h)

La struttura KSFILTERFACTORY rappresenta una fabbrica di filtri.

Sintassi

typedef struct _KSFILTERFACTORY {
  const KSFILTER_DESCRIPTOR *FilterDescriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;

Members

FilterDescriptor

Puntatore a una struttura KSFILTER_DESCRIPTOR che descrive le caratteristiche dei filtri creati da questa factory.

Bag

Questo membro specifica la KSOBJECT_BAG (equivalente al tipo PVOID) associata a questa factory di filtro. I sacchetti di oggetti sono strutture usate per associare memoria dinamica a un oggetto AVStream specifico. Qualsiasi elemento nel contenitore a oggetti filter factory viene pulito automaticamente quando la factory di filtro viene eliminata. Per altre informazioni, vedere la sezione concettuale su Borse oggetti .

Context

Puntatore a un indirizzo di memoria che il client può usare per associare le informazioni di contesto alla factory di filtro. AVStream non usa questo membro in alcun modo. Si noti che qualsiasi memoria dinamica associata alla factory di filtro deve essere inserita nel contenitore di oggetti con KsAddItemToObjectBag. Il contesto viene inizializzato al valore del membro Context del KSDEVICE padre al momento della creazione della factory. Vedere Gerarchia di oggetti AVStream.

Commenti

Una factory di filtro rappresenta in modo esplicito la possibilità di creare un'istanza di un determinato tipo di filtro, come descritto da un descrittore di filtro.

I driver per l'hardware in genere usano questa struttura per gestire una funzione specifica dell'hardware esposto come tipo di filtro. I filtri software in genere non devono gestire il dispositivo a questo livello.

Gli oggetti filter factory vengono creati in due modi. Possono essere creati durante l'elaborazione addDevice, come indicato dall'elenco dei descrittori di filtro del dispositivo. Possono anche essere creati in modo esplicito dal client in una chiamata a KsCreateFilterFactory. Il client può creare filtri factory in qualsiasi momento, ma questo viene in genere eseguito durante l'elaborazione dell'IRP iniziale PnP quando una valutazione delle risorse assegnate indica quali tipi di filtri devono essere esposti dal dispositivo.

Ai fini della sincronizzazione, la durata delle factory di filtro create in modo implicito viene definita come intervallo a partire dal momento in cui la funzione di invio della creazione del dispositivo del client è (o sarebbe) chiamata e termina dopo che la funzione di distribuzione del dispositivo del client è (o sarebbe) chiamata. La durata delle factory di filtro create in modo esplicito chiamando KsCreateFilterFactory inizia immediatamente dopo la chiamata.

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

KsAddItemToObjectBag

KsCreateFilterFactory