KS-Eigenschaften, -Ereignisse und -Methoden

Die Kernelstreamingarchitektur unterstützt die Interaktion zwischen Minidrivern und Benutzermodusclients über Eigenschaften, Ereignisse und Methoden. Mithilfe dieser Konstrukte können Clients eines KS-Objekts den Objektzustand abrufen und festlegen, Benachrichtigungsrückrufe für Ereignisse registrieren und Objektmethoden ausführen.

Clients fordern alle drei Vorgangsklassen standardisiert an. Der Client stellt eine Aliasstruktur von KSIDENTIFIER in einem Aufruf von DeviceIoControl (in der Microsoft Windows SDK-Dokumentation beschrieben) oder KsSynchronousDeviceControl bereit.

Die Aliasstrukturen sind KSPROPERTY, KSEVENT und KSMETHOD. Alle drei enthalten die folgenden Parameter:

  • Set

    Funktionell ähnliche Vorgänge werden in einer Gruppe gruppiert. Jede Eigenschaft, jedes Ereignis oder jede Methodenmenge wird durch eine GUID identifiziert. Microsoft definiert GUIDs für technologiespezifische Standardvorgänge. Minidriver können eigene GUIDs für benutzerdefinierte Vorgänge definieren.

  • Identifier

    Jeder Vorgang wird durch eine ID-Nummer innerhalb des Satzes angegeben.

  • Vorgangsspezifische Identifikationsdaten

    Für bestimmte Eigenschaftenanforderungen sind zusätzliche Daten erforderlich. Beispielsweise unterstützen Anheftungen an einem Audiogerät den KSPROPSETID_Audio-Eigenschaftssatz. Ein Audionadel unterstützt möglicherweise mehrere verschiedene Audiokanäle. Clients, die bestimmte KSPROPSETID_Audio Eigenschaften abrufen oder festlegen, müssen den Audiokanal angeben, für den die Anforderung gilt. Ereignis- und Methodenanforderungen erfordern keine zusätzlichen Daten.

Von Microsoft definierte Set-GUIDs und Bezeichner für allgemeine Vorgänge befinden sich im Header ks.h. Standard-GUIDs und Bezeichner für bestimmte Klassen der Multimediatechnologie finden Sie in ksmedia.h.

AVStream-Minidriver unterstützen Eigenschaften, Ereignisse und Methoden, indem sie einen Zeiger auf eine KSAUTOMATION_TABLE Struktur in den relevanten KSFILTER_DESCRIPTOR oder KSPIN_DESCRIPTOR_EX bereitstellen. Ein KSAUTOMATION_TABLE enthält einen Zeiger auf ein Array von KSPROPERTY_SET-Objekten . Weitere Informationen finden Sie unter Definieren von Automatisierungstabellen.

Diese Abschnitte enthalten Informationen dazu, wie Minidriver die drei Vorgangsklassen unterstützen:

KS-Eigenschaften

KS-Ereignisse

KS-Methoden