Поделиться через


Метод IFilterMapper2::RegisterFilter (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие 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

Адрес указателя на моникер устройства, определяющий, куда будут записываться данные этого фильтра. Может иметь значение NULL.

[in] pclsidCategory

Указатель на категорию фильтра. Если значение РАВНО NULL, по умолчанию используется категория CLSID_ActiveMovieFilters. (См . раздел Категории фильтров.)

[in] szInstance

Данные экземпляра для создания отображаемого имени моникера устройства. Может быть понятным именем или строковым представлением CLSID фильтра. Если значение РАВНО NULL, по умолчанию используется идентификатор CLSID фильтра.

[in] prf2

Указатель на структуру REGFILTER2 , содержащую сведения о фильтре.

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения включают значения, показанные в следующей таблице.

Код возврата Описание
S_OK
Успешно.
VFW_E_BAD_KEY
Не удалось получить раздел реестра.

Комментарии

Этот метод добавляет сведения о фильтре в реестр в записи реестра для указанной категории фильтра. Он не регистрирует внутрипроцессный сервер, создающий фильтр (обычно это библиотека DLL). Чтобы зарегистрировать сервер, можно вызвать функцию AMovieDllRegisterServer2 .

Для параметра ppMoniker используйте один из следующих вариантов:

  • Адрес указателя интерфейса IMoniker для существующего моникера устройства
  • Адрес указателя интерфейса IMonikerNULL
  • NULL
Если вы регистрируете фильтр для модели драйвера Windows (WDM) или Plug and Play устройства, передайте адрес существующего моникера устройства. Фильтр будет зарегистрирован с помощью этого моникера. При возврате метода параметру *ppMoniker присваивается значение NULL.

В противном случае метод создает новый моникер. Если значение ppMoniker не равно NULL, метод задает *ppMoniker для указания на новый моникер. Приложение может использовать этот моникер для записи дополнительных закрытых значений в контейнер свойств. Не забудьте освободить интерфейс.

Присвойте ppMonikerзначение NULL , если вы не хотите предоставлять или получать моникер.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

См. также раздел

Коды ошибок и успешного выполнения

Интерфейс IFilterMapper2