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 介面實例的位址寫入其中。 此介面會封裝訊號路徑中的元件清單,以將「來源」元件連線到「到」元件。 透過這個方法,呼叫端會取得介面的計數參考。 呼叫端負責藉由呼叫介面的 Release 方法,在不再需要介面時釋出介面。 如果 GetSignalPath 呼叫失敗, *ppParts 為 Null。
傳回值
如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。
傳回碼 | 描述 |
---|---|
|
參數 pIPartFrom、 pIPartTo或 ppParts 為 Null。 |
|
找不到連結兩個部分的路徑。 |
|
參數 pIPartFrom 或 pIPartTo 不會指向有效的 IPart 介面。 |
|
記憶體不足。 |
備註
這個方法會建立 IPartsList 介面實例,其中包含位於指定訊號路徑的元件清單。 元件清單中的元件會根據其在訊號路徑中的相對位置來排序。 「to」 元件是清單中的第一個專案,而 「from」 部分是清單中的最後一個專案。
如果清單包含 n 個元件,則會分別以清單索引 0 和 n– 1 來識別 「to」 和 「from」 部分。 若要取得元件清單中的元件數目,請呼叫 IPartsList::GetCount 方法。 若要依索引擷取元件,請呼叫 IPartsList::GetPart 方法。
訊號路徑中的元件全都必須是相同裝置拓撲的一部分。 路徑無法跨越裝置拓撲之間的界限。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | devicetopology.h |