Freigeben über


Eigenschaften Data-Range und Schnittmengen anheften

Mehrere Eigenschaftenanforderungen enthalten Informationen zu den Datenformaten für die Audiodatenströme, die ein Audiogerät an seinen Ein- und Ausgabepins verarbeiten kann.

Die Audiostream-Datenformate, die ein Pin unterstützen kann, werden in einem KSMULTIPLE_ITEM Array von KSDATARANGE-abgeleiteten Strukturen ausgedrückt. Die Unterstützung des Anheftdatenbereichs wird über die folgenden drei KSPROPSETID_Pin Eigenschaften für den Filter verfügbar gemacht:

KSPROPERTY_PIN_DATARANGES Diese Eigenschaft meldet Datenbereiche, die statisch sind und alle möglichen unterstützten Formate darstellen. In der Regel sind Datenbereiche in einem statischen Array im Adaptertreiber enthalten. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Diese Eigenschaft meldet dynamische Datenbereiche und stellt die Teilmenge der Formate dar, die zum Zeitpunkt der Eigenschaftenanforderung unterstützt werden. Der Eigenschaftshandler sollte die Logik enthalten, um zu entscheiden, welche Formate der Pin zur Laufzeit unterstützen kann. Beispielsweise könnte eine Hardwareimplementierung DMA-Einschränkungen aufweisen, die die Unterstützung für Vollduplex in bestimmten Formatkombinationen nicht zulassen. KSPROPERTY_PIN_DATAINTERSECTION Diese Eigenschaft wählt ein Datenformat aus einer Liste von Datenbereichen aus. Die Auswahl basiert auf dynamischen Funktionen, und das Format wird aus der Teilmenge der Formate übernommen, die der Treiber zum Zeitpunkt der Eigenschaftenanforderung unterstützen kann. Um diese Eigenschaft zu verwenden, stellt der Aufrufer ein Array von Datenbereichen bereit. Ab dem ersten Element durchsucht der Eigenschaftenhandler das Array, bis er einen Datenbereich findet, den er derzeit unterstützen kann. Bei erfolgreicher Ausführung gibt der Handler ein Datenformat aus, das aus diesem Datenbereich übernommen wird, und gibt STATUS_SUCCESS zurück. Andernfalls gibt der Handler STATUS_NO_MATCH zurück. Die Audiosystemkomponenten verwenden die Eigenschaften KSPROPERTY_PIN_DATARANGES und KSPROPERTY_PIN_DATAINTERSECTION. Miniport-Treiber sollten diese Eigenschaften unterstützen. Die Unterstützung für KSPROPERTY_PIN_CONSTRAINEDDATARANGES ist optional.

Weitere Informationen finden Sie unter Audiodatenformate und Datenbereiche.

Hinweis Die KSPROPERTY_PIN_DATARANGES und KSPROPERTY_PIN_CONSTRAINEDDATARANGES beginnen jeweils mit einer 8-Byte-ausgerichteten Adresse.