引脚数据范围和交集属性

多个属性请求提供有关音频设备能够在其输入和输出引脚上处理的音频流的数据格式的信息。

引脚能够支持的音频流数据格式以 KSDATARANGE 派生结构的 KSMULTIPLE_ITEM 数组表示。 引脚数据范围支持通过筛选器上的以下三个 KSPROPSETID_Pin 属性公开:

KSPROPERTY_PIN_DATARANGES 此属性会报告静态数据范围,并表示支持的所有可能格式。 通常,数据范围包含在适配器驱动程序的静态数组中。 KSPROPERTY_PIN_CONSTRAINEDDATARANGES 此属性会报告动态数据范围,并表示属性请求时支持的格式子集。 属性处理程序应包含用于决定引脚在运行时能够支持的格式的逻辑。 例如,硬件实现可以具有 DMA 约束,这些约束不允许在某些格式组合中支持全双工。 KSPROPERTY_PIN_DATAINTERSECTION 此属性从数据范围列表中选择数据格式。 选择基于动态功能,并且格式取自驱动程序在属性请求时可以支持的格式子集。 若要使用此属性,调用方将提供数据范围数组。 从第一个元素开始,属性处理程序将搜索数组,直到找到它当前能够支持的数据范围。 如果成功,处理程序将输出取自该数据范围的数据格式,并返回 STATUS_SUCCESS。 否则,处理程序将返回 STATUS_NO_MATCH。 音频系统组件使用 KSPROPERTY_PIN_DATARANGES 和 KSPROPERTY_PIN_DATAINTERSECTION 属性。 微型端口驱动程序应支持这些属性。 支持 KSPROPERTY_PIN_CONSTRAINEDDATARANGES 为可选。

有关详细信息,请参阅音频数据格式和数据范围

注意 KSPROPERTY_PIN_DATARANGES 和 KSPROPERTY_PIN_CONSTRAINEDDATARANGES 都以 8 字节对齐地址开始。