IAMGraphStreams::FindUpstreamInterface 方法 (strmif.h)

[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。

方法會 FindUpstreamInterface 從指定的針腳搜尋篩選圖形中的指定介面上游。

語法

HRESULT FindUpstreamInterface(
  [in]  IPin   *pPin,
  [in]  REFIID riid,
  [out] void   **ppvInterface,
  [in]  DWORD  dwFlags
);

參數

[in] pPin

針腳的 IPin 介面指標。 針腳必須屬於篩選圖形中的篩選。

[in] riid

指定要尋找的介面標識碼 (IID) 參考。

[out] ppvInterface

void 指標的位址。 如果方法成功,這個變數會接收 riid所指定介面的指標。

[in] dwFlags

AM_INTF_SEARCH_FLAGS 列舉的旗標組合,指定要搜尋 (釘選或篩選) 的內容。

傳回值

傳回下列其中一個 HRESULT 值。

傳回碼 Description
E_NOINTERFACE
找不到介面。
E_POINTER
無效的指標。
S_OK
成功。

備註

如果 dwFlags 為零,這個方法會依下列順序搜尋介面:

  1. 它會查詢 pPin 指定的釘選。
  2. 如果 pPin 是輸入針腳,它會在連接到 pPin 的輸出針腳上以遞歸方式呼叫 FindUpstreamInterface。如果有的話。

    如果 pPin 是輸出釘選,它會查詢擁有 pPin 的篩選。 然後它會在篩選上建立輸入針腳的清單,這些輸入針腳具有 pPin 的內部連線,並在這些輸入針腳上以遞歸方式呼叫 FindUpstreamInterface

    若要建立具有內部連線的輸入針腳清單,此方法會執行下列動作:

它會在它找到支援 介面的第一個物件停止。 您可以將 dwFlags 設定為非零值,以限制搜尋 (篩選、輸入釘選或輸出針腳) 的物件。
注意ICaptureGraphBuilder2::FindInterface 方法會實作此問題的較一般方法,而且在大多數情況下是慣用的方法。
 

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

錯誤和成功碼

IAMGraphStreams 介面