支持多个流

微型驱动程序描述它在其 StrMiniReceiveDevicePacket 例程中支持的流,以响应SRB_GET_STREAM_INFO请求。 CommandData.StreamBuffer 指向微型驱动程序应填充的HW_STREAM_DESCRIPTOR结构,并说明其支持的流。

HW_STREAM_DESCRIPTOR结构以 HW_STREAM_HEADER 结构开头,该结构描述微型驱动程序支持的流数。 它后跟一个 HW_STREAM_INFORMATION 结构的数组,每个结构都描述单个流。 类驱动程序使用每个HW_STREAM_INFORMATION来处理 KSPROPSETID_Pin 属性集 , 数组中的索引用作固定类型 ID。

对于大多数微型驱动程序,HW_STREAM_DESCRIPTOR中的数据在编译时是固定的。 在这种情况下,微型驱动程序可以静态分配数据结构。

微型驱动程序通过 HW_STREAM_HEADER 的拓扑成员描述其流之间的连接的拓扑。 类驱动程序使用此结构来处理微型驱动程序 的 KSPROPSETID_Topology 属性集。