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 节点 ID 值,KSFILTER_NODE。

FromNodePin

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

ToNode

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

ToNodePin

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

注解

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

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

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

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

PCCONNECTION_DESCRIPTOR

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

typedef KSTOPOLOGY_CONNECTION PCCONNECTION_DESCRIPTOR, *PPCCONNECTION_DESCRIPTOR;

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

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

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

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

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

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

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

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

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

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

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

当连接一端的引脚是筛选器上的输入或输出引脚,而不是节点上的逻辑引脚时,请根据指定) 到 null 节点 ID 值的连接端设置 FromNodeToNode 成员 (,PCFILTER_NODE

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

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

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

要求

   
Header ks.h (包括 Ks.h)

另请参阅

BdaPropertyTemplateConnections

KSPROPERTY_TOPOLOGY_CONNECTIONS

KSPROPSETID_Pin

KSPROPSETID_Topology