多个属性请求提供有关音频设备在其输入和输出引脚上能够处理的音频流的数据格式的信息。
引脚能够支持的音频流数据格式表达为 KSMULTIPLE_ITEM 数组,其中包含来自 KSDATARANGE 的派生结构。 引脚数据范围支持通过筛选器上的以下三个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 字节对齐的地址开始。