Поделиться через


Метод CBaseInputPin.ReceiveMultiple

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод ReceiveMultiple получает массив примеров. Этот метод реализует метод IMemInputPin::ReceiveMultiple .

Синтаксис

HRESULT ReceiveMultiple(
   IMediaSample **pSamples,
   long         nSamples,
   long         *nSamplesProcessed
);

Параметры

pSamples

Адрес массива указателей IMediaSample с размером nSamples.

nSamples

Количество выборок для обработки.

nSamplesProcessed

Указатель на переменную, которая получает количество обработанных выборок.

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения включают значения, перечисленные в следующей таблице.

Код возврата Описание
S_OK
Успешно.
S_FALSE
В настоящее время закрепления выполняется очистка; пример был отклонен.
E_POINTER
Аргумент указателя NULL.
VFW_E_INVALIDMEDIATYPE
Недопустимый тип носителя.
VFW_E_RUNTIME_ERROR
Произошла ошибка во время выполнения.
VFW_E_WRONG_STATE
Закрепление остановлено.

Комментарии

Этот метод ведет себя как метод CBaseInputPin::Receive , но получает массив примеров. В базовом классе метод циклически просматривает массив и вызывает Receive с каждым примером. Переопределите эту функцию, если фильтр может обрабатывать пакеты примеров более эффективно, чем обрабатывать их по одному за раз.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBaseInputPin