KS 筛选器是内核对象,由内核对象句柄标识。 在下图中,中心的大型框是表示音频设备的 KS 筛选器。 数据流从左侧流入筛选器,通过几个节点进行处理,并在右侧退出筛选器。 过滤器由过滤器工厂创建,显示为过滤器底部带有虚线边缘的一个框。
在图中,滤波器上实例化了两个引脚。 左侧的引脚是数据接收器,右侧的引脚是数据源。 数据流经接收器引脚进入筛选器,并通过源引脚从筛选器流出。
根据惯例,KS 中的源和汇点的使用以缓冲区为中心(或者,更普遍地说,以连接为中心)。 在一个筛选器上的源引脚连接到另一个筛选器的接收器引脚时,通常需要数据缓冲区。 缓冲区平滑了数据从源引脚到达和进入接收引脚时的速率不规则性。 (当然,并非所有连接都需要缓冲。同一适配器卡上的两台设备之间可能发生无缓冲连接,例如,接收器和源数据速率更易于匹配。
相比之下,混音器 API 中的 SRC 和 DST(源和目标)混音器线的术语是以设备为中心的。
流通过 SRC 混音器线进入混音器设备。
流通过 DST 混音器线退出混音器设备。
换句话说,SRC 混音器线映射到 KS 筛选器上的数据汇引脚,而 DST 混音器线映射到数据源引脚。 有关详细信息,请参阅 内核流式处理拓扑到音频混音器 API 翻译。
为了简单起见,该图省略了引脚生成器,这些生成器负责创建引脚实例。
除了数据接收器和数据源之外,引脚和筛选器还可以是 IRP 接收器和 IRP 源。 引脚和过滤器不仅可以接收 IRP,还可以发送 IRP。 图中的三个深色箭头表示IRP。 图左侧的引脚是 IRP 接收器。 右侧的引脚是 IRP 源。 该图还显示了一个IRP被发送到筛选器对象本身。