Метод IFilterGraph2::AddSourceFilterForMoniker (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод AddSourceFilterForMoniker
создает исходный фильтр из указателя IMoniker и добавляет фильтр в граф. Например, можно получить моникер для системного устройства, например устройства захвата видео, и добавить фильтр захвата видео для этого устройства. (Дополнительные сведения о моникерах системных устройств см. в интерфейсе ICreateDevEnum .)
Синтаксис
HRESULT AddSourceFilterForMoniker(
[in] IMoniker *pMoniker,
[in] IBindCtx *pCtx,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Параметры
[in] pMoniker
Указатель на интерфейс IMoniker .
[in] pCtx
Указатель на интерфейс контекста привязки IBindCtx .
[in] lpcwstrFilterName
Имя фильтра.
[out] ppFilter
Получает указатель на указатель IBaseFilt исходного фильтра. Вызывающий объект должен освободить интерфейс .
Возвращаемое значение
Возвращает и значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Успех; но указанное имя было дубликатом, поэтому диспетчер графов фильтров изменил имя. |
|
Ошибка. |
|
Недостаточно памяти. |
|
Не удалось добавить фильтр с повторяющимся именем. |
|
Не удалось загрузить исходный фильтр для . |
|
Тип носителя этого файла не распознается. |
Комментарии
Диспетчер графов фильтров содержит количество ссылок на фильтр, пока фильтр не будет удален из графа или не будет освобожден диспетчер графа фильтров.
Примеры
C++ |
---|
IBaseFilter *pSource = NULL; IMoniker *pMoniker = NULL; |
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |