Share via


iFilterMapper2::RegisterFilter 方法 (strmif.h)

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

方法會將 RegisterFilter 篩選資訊新增至登錄。

語法

HRESULT RegisterFilter(
  [in]      REFCLSID         clsidFilter,
  [in]      LPCWSTR          Name,
  [in, out] IMoniker         **ppMoniker,
  [in]      const CLSID      *pclsidCategory,
  [in]      LPCOLESTR        szInstance,
  [in]      const REGFILTER2 *prf2
);

參數

[in] clsidFilter

篩選條件 (CLSID) 類別識別碼。

[in] Name

篩選的描述性名稱。

[in, out] ppMoniker

決定寫入此篩選數據位置之裝置Moniker指標的位址。 可以是 NULL

[in] pclsidCategory

篩選條件之篩選類別的指標。 如果 為 NULL,則預設分類為 CLSID_ActiveMovieFilters。 (請參閱 Filter Categories.)

[in] szInstance

建構裝置 Moniker 顯示名稱的實例數據。 可以是易記名稱,或篩選 CLSID 的字串表示。 如果 為 NULL,則預設為篩選 CLSID。

[in] prf2

包含篩選資訊的 REGFILTER2 結構的指標。

傳回值

傳回 HRESULT 值。 可能的值包括下表所示的值。

傳回碼 描述
S_OK
成功。
VFW_E_BAD_KEY
無法取得登錄機碼。

備註

這個方法會在指定之篩選類別的登錄專案下,將篩選的相關信息新增至登錄。 它不會註冊建立篩選 (通常是 DLL) 的進程內伺服器。 若要註冊伺服器,您可以呼叫 AMovieDllRegisterServer2 函式。

針對 ppMoniker 參數,請使用下列其中一項:

  • 現有裝置 Moniker的IMoniker 介面指標位址
  • NULLIMoniker 介面指標的位址
  • NULL
如果您要為 Windows 驅動程式模型註冊篩選, (WDM) 或 隨插即用 裝置,請傳遞現有裝置 Moniker 的位址。 篩選將會使用此Moniker註冊。 當方法傳回時, *ppMoniker 會設定為 NULL

否則,方法會建立新的Moniker。 如果 ppMoniker 不是 NULL,此方法會將 *ppMoniker 設定為指向新的 Moniker。 應用程式可以使用這個Moniker,在屬性包中寫入其他私用值。 請務必釋放 介面。

如果您不想提供或接收Moniker,請將 ppMoniker 設定為 NULL

規格需求

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

另請參閱

錯誤和成功碼

IFilterMapper2 介面