Partager via


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é à ce filtre instance. Les 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é lors de la suppression du filtre.

Context

Pointeur utilisé par le client pour associer des informations de contexte au filtre spécifique instance. En règle générale, ces informations de contexte sont associées dans le membre Create du filtre, tel que défini dans la table KSFILTER_DISPATCH pour ce filtre instance. 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 parent KSFILTERFACTORY 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 membre Process de la structure KSFILTER_DISPATCH correspondante.

Les filtres matériels n’utilisent généralement pas KSFILTER, car le pilote matériel se concentre sur la transition de la plateforme : le déplacement des 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 file d’attente AVStream.

Consultez également Sacs d’objets.

Configuration requise

Condition requise Valeur
Client minimal 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.
En-tête ks.h (inclure Ks.h)

Voir aussi

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest