Minidriver der Broadcast-Treiberarchitektur
BDA-Minitreiber (Broadcast Driver Architecture) steuern Hardware, die die folgenden Vorgänge ausführt:
Optimieren eines digitalen Broadcastsignals
Demodulieren des digitalen Signals
Erfassen von Frames des digitalen Signals
Demultiplexing des Signals in Video-, Audio- und Datenströme
BDA-Minitreiber sind AVStream-Minitreiber, die unter dem AVStream-Modul im Kernelstream-Treiber ks.sysausgeführt werden. AVStream ist ein Klassentreiber, der ein einheitliches Kernel-Streamingklassenmodell für Audio- und Video-Minidriver bereitstellt und die Verwendung von COM-Objekten unterstützt, ohne vorhandene Minitreiberbinärdateien zu ändern. Der AVStream-Klassentreiber bietet einen Großteil des Standardverhaltens, das erforderlich ist, damit der Filter eines Minitreibers als WDM-Kernelstreaming-kompatibler Filter funktioniert. Um das Schreiben von BDA-Minidrivern zu vereinfachen, können Sie die BDA-Supportbibliothek (Bdasup.lib) von Funktionen verwenden, die im Microsoft Windows Driver Kit (WDK) enthalten sind. Diese Bibliothek bietet eine umfassende Standardbehandlung für die Eigenschaften und Methodensätze des BDA-Minitreibers.
In der Regel müssen Treiberautoren nur die entsprechenden statischen Vorlagenstrukturen codieren, sie bei der BDA-Unterstützungsbibliothek registrieren und die Bibliothek dann die Standardbehandlung für alle Eigenschaften und Methoden bereitstellen. In einigen Fällen muss ein BDA-Minidriver eine Eigenschafts- oder Methodenanforderung abfangen und entsprechende Vorgänge ausführen.
Die folgende Abbildung zeigt eine Architekturübersicht für BDA-Minidriver:
In den folgenden Abschnitten werden Implementierungsdetails für einen BDA-Minidriver beschrieben, Details zu einigen Eigenschaften- und Methodensätzen erläutert und Beispielcode enthalten, der zeigt, wie bestimmte Eigenschaften und Methoden abgefangen werden:
Initialisieren eines BDA Minidrivers
Erstellen von Dispatchtabellen
Definieren von Automatisierungstabellen
Initialisieren eines BDA-Filters
Verwenden von BDA-Eigenschaften und -Methodensätzen
Zwischenspeichern von Pininformationen für DirectShow
Herstellen einer Verbindung zwischen Pins von Filtern für BDA Minidriver