KsStudio - 引脚和节点
本主题介绍如何使用 KSStudio 实用工具显示引脚工厂和引脚实例化。
引脚工厂
音频筛选器的引脚工厂描述筛选器可以实例化的所有引脚。 通常,KS 筛选器托管一个或多个引脚工厂。 有关详细信息,请参阅引脚工厂。
在 KSStudio 实用工具的对象拓扑视图中,引脚工厂位于筛选器上,以便从左到右绘制数据流。 下面显示了各种引脚类型及其表示形式。
通信流和数据流
引脚实例化
有多种方式可用于在 KSStudio 中实例化引脚。
- 手动实例化。 如果要控制引脚的格式,此方法非常有用。 右键单击引脚工厂,然后从弹出菜单中选择“实例化”。 这会生成
KSPIN_CONNECT
参数对话框。
此对话框显示用于实例化引脚的适当结构(基于 KSPIN_CONNECT
)。 显示的结构是筛选器数据范围交集处理程序调用的结果。 可以双击它们来更改结构和子结构的成员。 可以从对话底部的 .ConnectTo 中选择引脚实例来填充 PinToHandle 成员。 确认对话框后,会将 KSPIN_CONNECT 结构作为参数传递给 KsCreatePin。
自动实例化。 此方法用于将引脚连接在一起。 它比手动实例化要轻松得多,但不允许控制引脚格式。 相反,它依赖于引脚本身的格式协商机制。 只需将引脚工厂拖到引脚实例或其他引脚上即可。 对于终结点的不同组合,协商机制不同:
将通信源引脚工厂 A 拖到通信接收器引脚实例 B 上。由于已设置实例化引脚 (B) 的格式,因此此处的格式协商是微不足道的。 只需实例化引脚工厂 (A),从而将已实例化引脚 (B) 的句柄指定为 PinConnectTo 参数,并将已实例化引脚 (B) 的格式指定为数据格式。 将引脚实例拖到引脚工厂上是此方法的一个小变体,可实现相同的结果。
将通信源引脚工厂 A 拖到通信接收器引脚工厂 B 上。此处的格式协商是使用数据范围交集机制完成的。 源引脚工厂 (A) 的数据范围将提交到接收器引脚工厂 (B) 的数据范围交集处理程序。 如果此调用成功,则将使用此格式实例化引脚工厂 B。 然后,使用相同的格式实例化引脚工厂 A,现在引脚实例 (B) 的句柄作为
PinHandleTo
成员。 将通信接收器引脚工厂拖到通信源引脚上是此方法的一个小变体,可实现相同的结果。
对于使用上述方法实例化的每个引脚,会同时将引脚实例的表示形式添加到对象拓扑视图和对象详细信息视图中。
节点
节点用于描述数据流经筛选器的路径。 它们还用于声明属性调用产生的效果范围,如下面的“节点上的属性和事件”中所述。
若要在图形视图中查看筛选器的节点,请右键单击筛选器并选择“视图节点”。
单击图形视图中的某个节点时,将调用以下 UI 操作:
筛选器中会突出显示经过所选节点的每条路径
选择树视图中节点的相应表示形式
请注意,孤立节点(没有连接的节点)绘制在筛选器图形域的左上角。
节点上的属性和事件
属性和事件调用是通过通信目标(筛选器和引脚)进行的。 作为这些属性和事件调用的参数,可以指定节点序号。 从这个意义上说,属性调用可以说是在节点上或经过节点或筛选器。
KSStudio 直观地表示对象拓扑视图和对象详细信息视图中的这些关系。
实例化引脚时,会将节点添加为对象详细信息视图中引脚实例的子项。 在这些节点上通过引脚查询这些节点上的属性。 请注意,节点上的大多数属性仅经过引脚或筛选器才有意义,但不能经过两者。