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


Метод CBaseOutputPin.GetDeliveryBuffer

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

Метод GetDeliveryBuffer извлекает образец носителя, содержащий пустой буфер.

Синтаксис

virtual HRESULT GetDeliveryBuffer(
   IMediaSample   **ppSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime,
   DWORD          dwFlags
);

Параметры

ppSample

Адрес переменной, которая получает указатель на интерфейс IMediaSample буфера.

pStartTime

Указатель на время начала примера или ЗНАЧЕНИЕ NULL.

pEndTime

Указатель на время окончания образца или ЗНАЧЕНИЕ NULL.

dwFlags

Побитовое сочетание флагов, поддерживаемых интерфейсом IMemAllocator::GetBuffer .

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

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

Код возврата Описание
S_OK
Успешно.
E_NOINTERFACE
Распределитель недоступен.

Комментарии

Этот метод вызывает метод IMemAllocator::GetBuffer в распределителе и передает параметры этому методу.

Требования

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

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

Класс CBaseOutputPin