Метод IFilterGraph::AddFilter (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод AddFilter
добавляет фильтр в граф.
Синтаксис
HRESULT AddFilter(
[in] IBaseFilter *pFilter,
[in] LPCWSTR pName
);
Параметры
[in] pFilter
Указатель на интерфейс IBaseFilter добавляемого фильтра.
[in] pName
Указатель на строку расширенных символов, содержащую имя фильтра.
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Успешно добавлен фильтр с повторяющимся именем. |
|
Ошибка. |
|
Недостаточно памяти. |
|
Аргумент указателя NULL. |
|
Использование этого фильтра ограничивается программным ключом. |
|
Не удалось добавить фильтр с повторяющимся именем. |
Комментарии
Имя фильтра может иметь значение NULL, и в этом случае диспетчер фильтров графов создает имя. Если имя не равно NULL и не является уникальным, этот метод изменит имя при попытке создать новое уникальное имя. В случае успешного выполнения этот метод возвращает VFW_S_DUPLICATE_NAME. Если не удается создать уникальное имя, возвращается VFW_E_DUPLICATE_NAME.
AddFilter
вызывает метод фильтра IBaseFilter::JoinFilterGraph , чтобы сообщить фильтру о его добавлении. AddFilter
необходимо вызвать перед попыткой использовать метод IGraphBuilder::Connect, IFilterGraph::ConnectDirect или IGraphBuilder::Render для подключения или отрисовки контактов, принадлежащих добавленным фильтру.
Диспетчер графов фильтров содержит счетчик ссылок в фильтре до тех пор, пока фильтр не будет удален из графа или пока диспетчер фильтров графов не будет освобожден.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |