KSTOPOLOGY_CONNECTION 结构 (ks.h)

KSTOPOLOGY_CONNECTION 结构描述内核流式处理筛选器内的单个数据路径连接。

PCCONNECTION_DESCRIPTOR 是KSTOPOLOGY_CONNECTION的别名。

语法

typedef struct {
  ULONG FromNode;
  ULONG FromNodePin;
  ULONG ToNode;
  ULONG ToNodePin;
} KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION;

成员

FromNode

指定连接上游端节点的节点 ID。 如果连接的此端是筛选器上的外部引脚,而不是节点上的逻辑引脚,则 m 将此成员设置为 null node-ID 值,KSFILTER_NODE。

FromNodePin

指定连接上游端的引脚 ID。 如果“FromNode”KSFILTER_NODE,则连接此端的引脚是筛选器上的外部引脚。 否则,此端的引脚是内部节点上的逻辑引脚。

ToNode

指定连接下游端节点的节点 ID。 如果连接的此端是筛选器上的外部引脚,而不是节点上的逻辑引脚,请将此成员设置为 null node-ID 值,KSFILTER_NODE。

ToNodePin

指定连接的下游端的引脚 ID。 如果 ToNode KSFILTER_NODE,则连接此端的引脚是筛选器上的外部引脚。 否则,此端的引脚是内部节点上的逻辑引脚。

注解

KSTOPOLOGY_CONNECTION表示筛选器内外部引脚、内部节点或外部引脚与内部节点之间的单个连接。

流式处理驱动程序返回KSTOPOLOGY_CONNECTION结构的数组,以响应 KSPROPERTY_TOPOLOGY_CONNECTIONS get-property 请求。

表示两个外部引脚之间的连接时,FromNodeToNode 都应设置为 KSFILTER_NODE,FromNodePin 和 ToNodePin 应是相应引脚的引脚类型 ID。 有关引脚类型 ID 的说明 ,请参阅KSPROPSETID_Pin

否则, FromNodePinToNodePin 表示连接的逻辑传入或传出引脚。 逻辑引脚编号仅用于描述节点之间的连接;它们在KSPROPERTY_TOPOLOGY_CONNECTIONS属性之外不存在。

PCCONNECTION_DESCRIPTOR

PCCONNECTION_DESCRIPTOR结构名称是KSTOPOLOGY_CONNECTION的别名。 适用于 IMiniport::GetDescription () 的 PCCONNECTION_DESCRIPTOR 是微型端口实现的筛选器拓扑中的节点连接的说明。 它在 portcls.h 标头中定义如下:

typedef KSTOPOLOGY_CONNECTION PCCONNECTION_DESCRIPTOR, *PPCCONNECTION_DESCRIPTOR;

请注意,对于参数说明, PCFILTER_NODE 与 PCCONNECTION_DESCRIPTOR 一起使用,而不是KSFILTER_NODE。

PCCONNECTION_DESCRIPTOR 结构指定筛选器内的单个连接。 连接可以是以下连接之一:

  • 两个内部节点之间的连接

  • 内部节点与筛选器上的引脚之间的连接

  • 筛选器上的两个引脚之间的连接

当筛选器上的输入引脚将数据直接流式传输到同一筛选器上的输出引脚时,会发生最后一种类型的连接。

适配器驱动程序使用结构数组来指定筛选器的内部拓扑。

数据流从 FromNode 端流向连接的 ToNode 端。

若要使用 PCCONNECTION_DESCRIPTOR 结构,驱动程序编写器会将“逻辑”固定分配给筛选器中的节点。 这些“引脚”是节点上的连接点,类似于筛选器用于连接到其他筛选器的外部引脚。 但是,节点上的逻辑引脚仅用于指定筛选器中的连接。

具有单个输入和单个输出的简单节点通常分别对其输入和输出引脚 1 和 0 进行编号。 按照约定,此编号基于 IRP 流的方向,而不是数据流。

更复杂的节点可能需要标准化的引脚 ID,以便客户端能够更轻松地确定函数分配给特定引脚。 例如, KSNODETYPE_ACOUSTIC_ECHO_CANCEL 节点对其四个引脚使用标准化 ID。

如果连接一端的引脚是筛选器上的输入或输出引脚,而不是节点上的逻辑引脚,请将 FromNodeToNode 成员 (,具体取决于要指定的连接端) 为 null node-ID 值 ,PCFILTER_NODE

避免混淆逻辑引脚,这些逻辑引脚仅用于描述筛选器内节点上的连接点,而筛选器用于连接到其他筛选器的外部引脚。 逻辑引脚很少在 PCCONNECTION_DESCRIPTOR 结构之外使用。 在本文档中,除非另有说明,否则术语 “固定 ”是指 KS 筛选器上的引脚,而不是节点上的逻辑固定。

IMiniport::GetDescription 方法输出包含指向PCCONNECTION_DESCRIPTOR数组的指针的PCFILTER_DESCRIPTOR结构。

有关演示如何使用 PCCONNECTION_DESCRIPTOR 结构的简单代码示例,请参阅 公开筛选器拓扑

要求

要求
Header ks.h (包括 Ks.h)

另请参阅

BdaPropertyTemplateConnections

KSPROPERTY_TOPOLOGY_CONNECTIONS

KSPROPSETID_Pin

KSPROPSETID_Topology