Data-Intersection Handler

In diesem Abschnitt werden datenübergreifende Handler in WdM-Audiotreibern (Microsoft Windows Driver Model) erläutert. Eine umfassendere Diskussion über die Behandlung von Datenkreuzungen für KS-Filter im Allgemeinen finden Sie unter DataRange-Schnittmengen in AVStream.

In älteren Versionen von Windows wie Windows XP erstellt der SysAudio-Systemtreiber ein virtuelles Audiogerät , indem er Paare von Audio-Filter-Pins miteinander verbindet, um ein Audiofilterdiagramm zu bilden. Bevor ein Quellpin an einem Filter mit einem Senkenpin eines anderen verbunden werden kann, muss SysAudio ein gemeinsames Format aushandeln, das die beiden Pins zum Austauschen von Daten verwenden können. Die Details dieser Aushandlung werden größtenteils an die Datenschnitthandler delegiert, die in den einzelnen Filtern implementiert sind.

In ähnlicher Weise muss die Audio-Engine in Windows Vista und höher ein gemeinsames Streamformat mit dem Datenschnitthandler im Wellenfilter aushandeln, der das Audiorenderinggerät darstellt.

Ein Adaptertreiber erstellt einen WaveRT-Filter für ein Audiogerät, indem er einen seiner Miniporttreiber an den entsprechenden Porttreiber aus Portcls.sys bindet. Der Porttreiber enthält einen Standardhandler für Datenkreuzung, aber der Standardhandler gibt dem proprietären Datenkreuzungshandler des Miniporttreibers immer die erste Möglichkeit, ein gängiges Format zu bestimmen. Wenn der proprietäre Handler diese Möglichkeit jedoch ablehnt, bestimmt der Standardhandler des Porttreibers das Format.

Der Standardhandler für Datenkreuzung des Porttreibers ist für die gängigsten Hardwarefeatures konzipiert. Für einfache Audiogeräte bietet der Standardhandler eine praktische Alternative zur Implementierung eines proprietären Handlers im Adaptertreiber. Adapter mit erweiterten Features benötigen jedoch möglicherweise proprietäre Handler, um die vollen Funktionen der Hardware verfügbar zu machen.

Im weiteren Verlauf dieses Abschnitts werden einige der Einschränkungen des Standarddatenschnitthandlers des Porttreibers beschrieben, und es werden die Techniken vorgestellt, die zum Entwerfen eines proprietären Datenkreuzungshandlers für einen Adaptertreiber erforderlich sind. Die folgenden Themen werden erörtert:

Datenschnittpunkt

Standardhandler für Data-Intersection

Proprietäre Data-Intersection-Handler

Hardwareeinschränkungen für die Beispielhäufigkeit

Ausgabepuffergröße

Datenbereiche mit diskreten Werten

Wildcards

Datenbereichseigenschaften