Метод IAMGraphStreams::FindUpstreamInterface (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод FindUpstreamInterface
выполняет поиск указанного интерфейса в графе фильтра, вышестоящий из указанного контакта.
Синтаксис
HRESULT FindUpstreamInterface(
[in] IPin *pPin,
[in] REFIID riid,
[out] void **ppvInterface,
[in] DWORD dwFlags
);
Параметры
[in] pPin
Указатель на интерфейс IPin контакта. Закрепление должно принадлежать фильтру в графе фильтров.
[in] riid
Ссылка на идентификатор интерфейса (IID), указывающий интерфейс для поиска.
[out] ppvInterface
Адрес указателя void. Если метод выполняется успешно, эта переменная получает указатель на интерфейс, указанный riid.
[in] dwFlags
Сочетание флагов из перечисления AM_INTF_SEARCH_FLAGS , указывающее, что искать (закрепление или фильтры).
Возвращаемое значение
Возвращает одно из следующих значений HRESULT .
Код возврата | Описание |
---|---|
|
Интерфейс не найден. |
|
Недопустимый указатель. |
|
Успешно. |
Комментарии
Если значение dwFlags равно нулю, этот метод выполняет поиск интерфейса в следующем порядке:
- Он запрашивает пин-код, указанный параметром pPin.
-
Если pPin является входным контактом, он вызывает FindUpstreamInterface рекурсивно для выходного контакта, подключенного к pPin, если таковой имеется.
Если pPin является выходным контактом, он запрашивает фильтр, которому принадлежит pPin. Затем он создает список входных контактов в фильтре, имеющих внутренние подключения к pPin, и вызывает
FindUpstreamInterface
рекурсивно для этих входных контактов.Чтобы создать список входных контактов с внутренними подключениями, метод выполняет следующие действия:
- Вызывает IPin::QueryInternalConnections.
- В случае сбоя вызывает IBaseFilter::EnumPins и ищет контакты ввода.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |