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


Метод CBaseControlVideo.GetCurrentImage

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

Метод GetCurrentImage извлекает копию текущего изображения в отрисовщике.

Синтаксис

HRESULT GetCurrentImage(
   long *pBufferSize,
   long *pVideoImage
);

Параметры

pBufferSize

Указатель на размер выходного буфера.

pVideoImage

Указатель на выходной буфер для изображения.

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

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

Код возврата Описание
E_FAIL
Ошибка.
E_INVALIDARG
Недопустимый аргумент.
E_OUTOFMEMORY
Недостаточно памяти. Возвращается, если параметр pVideoInfo имеет значение NULL.
NOERROR
Успешно.
VFW_E_NOT_PAUSED
Не удалось выполнить операцию, так как фильтр не приостановлен.

Комментарии

Эта функция-член извлекает изображение из примера и копирует его в выходной буфер. Раздел видео, скопированный в выходной буфер, отражает исходный прямоугольник, заданный через интерфейс IBasicVideo . Он не отражает прямоугольник назначения.

Требования

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

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

Класс CBaseControlVideo