Метод 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
Указатель на фильтр, который необходимо удалить из графа.
Возвращаемое значение
Возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Ошибка. |
|
Аргумент указателя NULL. |
Комментарии
Диспетчер фильтров графов уведомляет фильтр о том, что он удаляется, вызывая метод IBaseFilter::JoinFilterGraph фильтра с аргументом NULL . Нет необходимости отключать контакты фильтра перед вызовом RemoveFilter
, но граф фильтра должен находиться в состоянии Остановлено. Если фильтры не остановлены, RemoveFilter
может не отсоединить контакты, а затем не удалить фильтр из графа. IGraphConfig::RemoveFilterEx позволяет приложению удалять фильтр без автоматического отключения контактов, что повышает производительность при перемещении групп подключенных фильтров в новый граф.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |