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


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

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

Метод RemoveFilter удаляет фильтр из графа.

Синтаксис

HRESULT RemoveFilter(
  [in] IBaseFilter *pFilter
);

Параметры

[in] pFilter

Указатель на фильтр, который необходимо удалить из графа.

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

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

Код возврата Описание
S_OK
Успешно.
E_FAIL
Ошибка.
E_POINTER
Аргумент указателя NULL.

Комментарии

Диспетчер фильтров графов уведомляет фильтр о том, что он удаляется, вызывая метод IBaseFilter::JoinFilterGraph фильтра с аргументом NULL . Нет необходимости отключать контакты фильтра перед вызовом RemoveFilter, но граф фильтра должен находиться в состоянии Остановлено. Если фильтры не остановлены, RemoveFilter может не отсоединить контакты, а затем не удалить фильтр из графа. IGraphConfig::RemoveFilterEx позволяет приложению удалять фильтр без автоматического отключения контактов, что повышает производительность при перемещении групп подключенных фильтров в новый граф.

Требования

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

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

Коды ошибок и успешности

Интерфейс IFilterGraph