功能拓扑

为了以一种适用于各种网络类型和硬件和软件实现(例如优化器和解码器)的方式构建广播接收器筛选器图,广播体系结构采用熟悉 DirectShow的筛选器图概念,并将其抽象化为功能拓扑的概念。 功能拓扑(如筛选器图)描述了传入信号上发生的一系列转换。 但是,与筛选器图不同,功能拓扑不描述任何实际的筛选器或软件模块;或如何在软件或硬件中实现操作。 相反,它描述了抽象 控制节点的配置,每个节点都表示一些常见的离散操作。

根据计算机中安装的硬件和软件组件的类型,相同的功能拓扑可能会导致不同的筛选器图配置或 实际拓扑。 例如,如果硬件供应商选择在同一线路卡上实现优化器和降级器,则 内核流式处理 (KS) 代理模块 将筛选器图中的此硬件设备表示为具有两个内部控制节点的单个筛选器。 BDA 设备筛选器将自身与更传统的DirectShow筛选器区分开来,因为单个 BDA 设备筛选器可以封装尽可能多的硬件功能, (控制节点实现) 内置于单个功能 (模块中,例如线路卡或芯片) 。

控件节点提供的函数由 GUID 唯一标识。 有关节点说明 GUIDS 的定义,请参阅 BDA 节点类别 GUID。 在图形生成过程中,网络提供程序筛选器使用这些 GUID 来确定哪些节点可用于支持特定网络类型或优化空间。 广播接收器筛选器图中的筛选器通过 COM 接口、节点类型和它们支持的引脚类型来指示。 筛选器的 BDA 驱动程序通过 KS 属性集指示相同的信息。 筛选器包含数据结构,用于描述其节点类型、引脚类型和引脚和节点连接方式。 此信息称为筛选器的 模板拓扑。 下图演示了模板拓扑。

diagram illustrating a template topology.

上图中的模板拓扑包含五种不同的节点类型和四种不同的引脚类型。 引脚和节点类型的数量是筛选器分配的任意标识符。 但是,每个节点类型都与网络提供程序可以检查的节点说明 GUID 相关联。 每个节点类型只能在拓扑中发生一次,但由于筛选器任意将标识符分配给节点类型,因此同一控制节点 GUID 可以与多个节点类型相关联。 例如,使用数字 1 和 3 标识的节点类型可以表示具有两个不同的输出路径的同一控制节点 GUID。 模板拓扑必须用两个单独的节点类型来表示此方案。 在模板拓扑中连接这些引脚和节点类型的行显示筛选器支持的路径。

网络提供程序必须检查此拓扑,并确定筛选器在任何特定图形中的信号上执行的转换。 有关描述模板拓扑的数据结构的详细信息,请参阅广播驱动程序体系结构微型驱动程序。