Метод CBaseControlVideo.GetVideoPaletteEntries

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

Метод GetVideoPaletteEntries извлекает диапазон записей палитры для видео.

Синтаксис

HRESULT GetVideoPaletteEntries(
   long StartIndex,
   long Entries,
   long *pRetrieved,
   long *pPalette
);

Параметры

Startindex

Отсчитываемая от нуля запись начальной палитры.

Записи

Необходимое количество записей.

pRetrieved

Указатель на количество полученных цветов.

pPalette

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

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

Возвращает noERROR в случае успешного выполнения, VFW_E_NO_PALETTE_AVAILABLE, если примеры видео не имеют цветовой палитры, E_OUTOFMEMORY, если недостаточно доступной памяти, E_INVALIDARG, если startIndex недопустим, или S_FALSE, если в палитре нет цветов.

Комментарии

Эта функция-член возвращает текущую палитру видео в виде массива, выделенного пользователем. Чтобы сохранить согласованность, используйте элементы в структуре Win32 PALETTEENTRY для возврата цветов, а не члены в структуре RGBQUAD (хотя параметр имеет значение LONG). Память выделяется вызывающим объектом, поэтому просто скопируйте каждый из них по очереди. Определите, что количество запрошенных записей и смещение начальной позиции являются допустимыми. Если количество записей равно нулю, верните код S_FALSE.

Требования

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

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

Класс CBaseControlVideo