Метод IPin::QueryInternalConnections (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод QueryInternalConnections извлекает контакты, подключенные внутренне к этому контакту (в фильтре).
Синтаксис
HRESULT QueryInternalConnections(
[out] IPin **apPin,
[in, out] ULONG *nPin
);
Параметры
[out] apPin
Адрес массива указателей IPin . Вызывающий объект выделяет массив. Метод заполняет массив указателями IPin . Если nPin равно нулю, этот параметр может иметь значение NULL.
[in, out] nPin
На входных данных указывает размер массива. На выходных данных указывает количество внутренних контактов.
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Недостаточный размер массива. |
|
Успешно. |
|
Не реализован. |
Комментарии
Этот метод возвращает сведения о внутреннем сопоставлении входных контактов фильтра с выходными контактами. Другими словами, он описывает, как входные контакты доставляют данные в выходные контакты.
В большинстве фильтров каждый входной контакт подключается к каждому выходному контакту. Например, в фильтре преобразования один вход подключается к одному выходу; в фильтре разделения один вход подключается к нескольким выходам. В таких случаях метод должен просто возвращать E_NOTIMPL.
В противном случае метод возвращает массив указателей IPin , по одному для каждого контакта, который внутренне сопоставлен с запрошенным контактом. При вызове метода для входного контакта массив содержит указатели на выходные контакты и наоборот.
Вызывающий объект выделяет массив указателей IPin . Чтобы получить необходимый размер массива, вызовите метод один раз с apPin , равным NULL. Размер возвращается в параметре nPin . Затем выделите массив и снова вызовите метод , установив значение apPin равным адресу массива, а nPin — размеру массива. Затем метод заполняет массив указателями IPin . Каждый возвращаемый указатель имеет незавершенное число ссылок и должен быть освобожден вызывающим.
У этого метода есть еще одно использование, которое теперь является устаревшим: диспетчер фильтров графа обрабатывает фильтр как фильтр отрисовщика, если хотя бы один входной контакт реализует этот метод, но возвращает ноль в nPin. Однако при написании нового фильтра отрисовщика следует реализовать интерфейс IAMFilterMiscFlags , а не использовать этот метод, чтобы указать, что фильтр является отрисовщиком.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |