确定节点的控制引脚

与筛选器和固定不同,节点没有关联的文件句柄,环 3 中的应用程序可以通过此句柄访问它们。 由于节点是筛选器中的内部组件,因此它们存在于筛选器的输入和输出引脚之间的某个位置。 网络提供程序必须确定要使用的筛选器引脚,然后使用该引脚访问节点。 此筛选器引脚称为该节点的控制引脚。 若要确定筛选器的 BDA 模板连接列表中每个节点的控制引脚,网络提供程序查询KSPROPSETID_BdaTopology属性集的 KSPROPERTY_BDA_CONTROLLING_PIN_ID 属性。 BDA 微型驱动程序又为每个节点调用 BdaPropertyGetControllingPinId 支持函数。 在此调用中,微型驱动程序将指针传递到 KSP_BDA_NODE_PIN 结构。 此结构标识属性请求,以检索特定节点类型的控制引脚以及筛选器的一对输入和输出引脚。 BDA 支持库返回节点类型的控制引脚的标识符。

BDA 微型驱动程序通常不会截获 KSPROPERTY_BDA_CONTROLLING_PIN_ID 属性。 微型驱动程序从 KSPROPSETID_BdaTopology 属性集中自动调度 BdaPropertyGetControllingPinId 支持函数。 有关详细信息 ,请参阅确定 BDA 设备拓扑

支持库能够执行确定控制引脚标识符的所有工作,因为 BDA 微型驱动程序在 BDA 微型驱动程序开始运行时为支持库提供了指向 BDA_FILTER_TEMPLATE 结构的指针。 有关详细信息 ,请参阅启动 BDA 微型驱动程序 。 BDA 微型驱动程序告知 BDA 支持库如何通过BDA_FILTER_TEMPLATE中包含的信息来确定控制引脚。 此信息包括:

  • 连接数组。 此数组是一个 KSTOPOLOGY_CONNECTION 数组,它提供节点和引脚类型之间的所有可能连接的表示形式,这些连接可以在筛选器内或筛选器与相邻筛选器之间建立。 有关KSTOPOLOGY_CONNECTION数组的详细信息,请参阅 映射连接拓扑

  • 联接值的数组。 联接是拓扑中的一个点,其中一个输入拆分为一个或多个不同输出的路径,或者一个或多个输入联接到单个输出路径。 给定给联合的值对应于KSTOPOLOGY_CONNECTION数组中元素的索引。 大多数拓扑将只有一个关节。

  • BDA_PIN_PAIRING 结构的数组。 这些结构标识输入和输出引脚类型、可在筛选器上创建的输入类型实例的最大数目,以及可在筛选器上创建的输出类型实例的最大数目。 这些结构还包含指向输入和输出引脚之间的联合值数组的指针。 有关BDA_PIN_PAIRING数组的详细信息,请参阅 启动 BDA 微型驱动程序

下图显示了支持库如何确定控制特定节点的筛选器引脚:

说明支持库如何确定控制特定节点的筛选器引脚的示意图。