IDeviceTopology::GetSignalPath 方法 (devicetopology.h)

GetSignalPath 方法获取信号路径中链接两个部分的部件列表(如果该路径存在)。

语法

HRESULT GetSignalPath(
  [in]  IPart      *pIPartFrom,
  [in]  IPart      *pIPartTo,
  [in]  BOOL       bRejectMixedPaths,
  [out] IPartsList **ppParts
);

参数

[in] pIPartFrom

指向“from”部分的指针。 此参数是指向信号路径开头部分的 IPart 接口的指针。

[in] pIPartTo

指向“to”部分的指针。 此参数是指向信号路径末尾部分的 IPart 接口的指针。

[in] bRejectMixedPaths

指定是否拒绝包含混合数据的路径。 如果 bRejectMixedPaths (非零) 为 TRUE ,则该方法将忽略包含混音器 (即) 两个或多个输入信号相加的处理节点的任何数据路径。 如果 为 FALSE,该方法将尝试查找连接“from”和“to”部分的路径,而不考虑路径是否包含混音器。

[out] ppParts

指向指针变量的指针,方法将 IPartsList 接口实例的地址写入其中。 此接口封装信号路径中将“from”部分连接到“to”部分的部件列表。 通过此方法,调用方获取对 接口的计数引用。 调用方负责通过调用接口的 Release 方法,在不再需要接口时释放接口。 如果 GetSignalPath 调用失败, 则 *ppPartsNULL

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
E_POINTER
参数 pIPartFrompIPartToppPartsNULL
E_NOTFOUND
找不到链接这两个部分的路径。
E_NOINTERFACE
参数 pIPartFrompIPartTo 不指向有效的 IPart 接口。
E_OUTOFMEMORY
内存不足。

备注

此方法创建一个 IPartsList 接口实例,该实例包含沿指定信号路径的部件列表。 部件列表中的部件根据其在信号路径中的相对位置进行排序。 “to”部分是列表中的第一项,“发件人”部分是列表中的最后一项。

如果列表包含 n 个 部分,则“to”和“from”部分分别由列表索引 0 和 n – 1 标识。 若要获取部件列表中的部件数,请调用 IPartsList::GetCount 方法。 若要按索引检索部件,请调用 IPartsList::GetPart 方法。

信号路径中的部分必须全部属于同一设备拓扑。 路径不能跨越设备拓扑之间的边界。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 devicetopology.h

另请参阅

IDeviceTopology 接口

IPart 接口

IPartsList 接口

IPartsList::GetCount

IPartsList::GetPart