IFilterGraph2::AddSourceFilterForMoniker 方法 (strmif.h)
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
方法 AddSourceFilterForMoniker
會從 IMoniker 指標建立來源篩選,並將篩選新增至圖形。 例如,您可以取得系統裝置的 Moniker,例如視訊擷取裝置,並新增該裝置的視訊擷取篩選。 (如需系統裝置 Monikers 的詳細資訊,請參閱 ICreateDevEnum 介面.)
語法
HRESULT AddSourceFilterForMoniker(
[in] IMoniker *pMoniker,
[in] IBindCtx *pCtx,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
參數
[in] pMoniker
IMoniker介面的指標。
[in] pCtx
IBindCtx系結內容介面的指標。
[in] lpcwstrFilterName
篩選的名稱。
[out] ppFilter
接收來源篩選之 IBaseFilter 指標的指標。 呼叫端必須釋放 介面。
傳回值
會傳回 和 HRESULT 值。 可能的值如下。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
成功;但指定的名稱重複,因此 Filter Graph Manager 修改了名稱。 |
|
失敗。 |
|
記憶體不足。 |
|
無法新增具有重複名稱的篩選準則。 |
|
無法載入 的來源篩選。 |
|
無法辨識此檔案的媒體類型。 |
備註
Filter Graph Manager 會保留篩選的參考計數,直到從圖形中移除篩選或篩選圖形管理員釋放為止。
範例
C++ |
---|
IBaseFilter *pSource = Null;IMoniker *pMoniker = Null; |
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |