Structure KSFILTER (ks.h)
La structure KSFILTER décrit un filtre instancié.
Syntaxe
typedef struct _KSFILTER {
const KSFILTER_DESCRIPTOR *Descriptor;
KSOBJECT_BAG Bag;
PVOID Context;
} KSFILTER, *PKSFILTER;
Membres
Descriptor
Pointeur vers une structure KSFILTER_DESCRIPTOR qui décrit les caractéristiques de ce filtre particulier.
Bag
Ce membre spécifie le KSOBJECT_BAG (équivalent au type PVOID) associé à cette instance de filtre. sacs d’objets sont des structures utilisées pour associer la mémoire dynamique à un objet AVStream spécifique. Tout ce qui se trouve dans le conteneur d’objets de filtre est automatiquement nettoyé lorsque le filtre est supprimé.
Context
Pointeur utilisé par le client pour associer des informations de contexte à l’instance de filtre spécifique. En règle générale, ces informations de contexte sont associées dans la Créer membre, tel que défini dans la table KSFILTER_DISPATCH pour cette instance de filtre. Toutes les informations de contexte allouées dynamiquement doivent être placées dans le conteneur d’objets avec KsAddItemToObjectBag. Context est initialisé à la valeur du membre context du KSFILTERFACTOR Y parent au moment de la création du filtre. Consultez hiérarchie d’objets AVStream.
Remarques
Les pilotes implémentant des filtres logiciels associent généralement l’état du filtre à la structure KSFILTER. Les filtres logiciels traitent généralement les données dans le rappel spécifié par le Process membre de la structure de KSFILTER_DISPATCH correspondante.
Les filtres matériels n’utilisent généralement pas KSFILTER, car le focus du pilote matériel est la transition de plateforme : déplacement de données entre l’hôte et le matériel externe. Cette transition est généralement gérée par le code associé à un objet de file d’attente AVStream.
Voir également sacs d’objets.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et dans Microsoft DirectX 8.0 et versions ultérieures. |
d’en-tête | ks.h (include Ks.h) |