KSFILTER-Struktur (ks.h)

Die KSFILTER-Struktur beschreibt einen instanziierten Filter.

Syntax

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

Member

Descriptor

Ein Zeiger auf eine KSFILTER_DESCRIPTOR Struktur, die die Merkmale dieses bestimmten Filters beschreibt.

Bag

Dieses Element gibt den KSOBJECT_BAG (entspricht dem Typ PVOID) an, der diesem Filter instance zugeordnet ist. Object Bags sind Strukturen, die verwendet werden, um dynamischen Speicher einem bestimmten AVStream-Objekt zuzuordnen. Alles, was sich im Filterobjektbehälter befindet, wird automatisch bereinigt, wenn der Filter gelöscht wird.

Context

Ein Zeiger, der vom Client verwendet wird, um kontextbezogene Informationen dem spezifischen Filter instance zuzuordnen. In der Regel werden solche Kontextinformationen im Create-Element des Filters zugeordnet, wie in der KSFILTER_DISPATCH Tabelle für diesen Filter instance definiert. Alle dynamisch zugeordneten Kontextinformationen sollten mit KsAddItemToObjectBag im Objektbehälter platziert werden. Kontext wird zum Zeitpunkt der Erstellung des Filters mit dem Wert des Context-Members der übergeordneten KSFILTERFACTORY initialisiert. Siehe AVStream-Objekthierarchie.

Hinweise

Treiber, die Softwarefilter implementieren, ordnen den Filterzustand in der Regel der KSFILTER-Struktur zu. Softwarefilter verarbeiten normalerweise Daten innerhalb des Rückrufs, der vom Process-Member der entsprechenden KSFILTER_DISPATCH-Struktur angegeben wird.

Hardwarefilter verwenden in der Regel nicht KSFILTER, da der Fokus des Hardwaretreibers auf dem Plattformübergang liegt: die Verschiebung von Daten zwischen dem Host und der externen Hardware. Dieser Übergang wird in der Regel durch Code behandelt, der einem AVStream-Warteschlangenobjekt zugeordnet ist.

Siehe auch Objekttaschen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie in Microsoft DirectX 8.0 und höheren Versionen.
Kopfzeile ks.h (einschließlich Ks.h)

Weitere Informationen

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest