共用方式為


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

指定是否拒絕包含混合資料的路徑。 如果 bRejectMixedPathsTRUE (非零) ,則方法會忽略包含混合器 (的任何資料路徑,也就是加總兩個或多個輸入訊號的處理節點) 。 如果 為 FALSE,則方法會嘗試尋找連接 「from」 和 「to」 元件的路徑,而不論路徑是否包含混合器。

[out] ppParts

指標變數的指標,方法會將 IPartsList 介面實例的位址寫入其中。 此介面會封裝訊號路徑中的元件清單,以將「來源」元件連線到「到」元件。 透過這個方法,呼叫端會取得介面的計數參考。 呼叫端負責藉由呼叫介面的 Release 方法,在不再需要介面時釋出介面。 如果 GetSignalPath 呼叫失敗, *ppPartsNull

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。

傳回碼 描述
E_POINTER
參數 pIPartFrompIPartToppPartsNull
E_NOTFOUND
找不到連結兩個部分的路徑。
E_NOINTERFACE
參數 pIPartFrompIPartTo 不會指向有效的 IPart 介面。
E_OUTOFMEMORY
記憶體不足。

備註

這個方法會建立 IPartsList 介面實例,其中包含位於指定訊號路徑的元件清單。 元件清單中的元件會根據其在訊號路徑中的相對位置來排序。 「to」 元件是清單中的第一個專案,而 「from」 部分是清單中的最後一個專案。

如果清單包含 n 個元件,則會分別以清單索引 0 和 n– 1 來識別 「to」 和 「from」 部分。 若要取得元件清單中的元件數目,請呼叫 IPartsList::GetCount 方法。 若要依索引擷取元件,請呼叫 IPartsList::GetPart 方法。

訊號路徑中的元件全都必須是相同裝置拓撲的一部分。 路徑無法跨越裝置拓撲之間的界限。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 devicetopology.h

另請參閱

IDeviceTopology 介面

IPart 介面

IPartsList 介面

IPartsList::GetCount

IPartsList::GetPart