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 调用失败, 则 *ppParts 为 NULL。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
参数 pIPartFrom、 pIPartTo 或 ppParts 为 NULL。 |
|
找不到链接这两个部分的路径。 |
|
参数 pIPartFrom 或 pIPartTo 不指向有效的 IPart 接口。 |
|
内存不足。 |
备注
此方法创建一个 IPartsList 接口实例,该实例包含沿指定信号路径的部件列表。 部件列表中的部件根据其在信号路径中的相对位置进行排序。 “to”部分是列表中的第一项,“发件人”部分是列表中的最后一项。
如果列表包含 n 个 部分,则“to”和“from”部分分别由列表索引 0 和 n – 1 标识。 若要获取部件列表中的部件数,请调用 IPartsList::GetCount 方法。 若要按索引检索部件,请调用 IPartsList::GetPart 方法。
信号路径中的部分必须全部属于同一设备拓扑。 路径不能跨越设备拓扑之间的边界。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | devicetopology.h |