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