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


Метод IFilterGraph::FindFilterByName (strmif.h)

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

Метод FindFilterByName находит фильтр, добавленный в граф фильтра с определенным именем.

Синтаксис

HRESULT FindFilterByName(
  [in]  LPCWSTR     pName,
  [out] IBaseFilter **ppFilter
);

Параметры

[in] pName

[in, string] Указатель на имя для поиска.

[out] ppFilter

Получает указатель на интерфейс фильтра IBaseFilter . Вызывающий объект должен освободить интерфейс .

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

Возвращает одно из следующих значений.

Код возврата Описание
S_OK
Успешно.
E_POINTER
Аргумент указателя NULL.
VFW_E_NOT_FOUND
Фильтр с указанным именем не найден.

Комментарии

Если фильтр не найден, метод возвращает указатель NULL в параметре ppFilter .

Возвращенный интерфейс IBaseFilter имеет неоплаченное число ссылок. Вызывающий объект должен освободить интерфейс .

Требования

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

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

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

Интерфейс IFilterGraph