Метод CImagePalette.PreparePalette
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод PreparePalette
настраивает палитру на основе типа носителя из фильтра-владельцев.
Синтаксис
HRESULT PreparePalette(
const CMediaType *pmtNew,
const CMediaType *pmtOld,
LPSTR szDevice
);
Параметры
-
pmtNew
-
Указатель на новый тип мультимедиа. Блок формата должен быть структурой VIDEOINFOHEADER .
-
pmtOld
-
Указатель на старый тип мультимедиа. Если тип мультимедиа устанавливается впервые, этот параметр может быть пустым типом без блока форматирования. В противном случае блок формата должен иметь структуру VIDEOINFOHEADER .
-
szDevice
-
Указатель на строку, содержащую имя устройства отображения, возвращаемое функцией GDI EnumDisplayDevices . Чтобы использовать устройство отображения main, задайте для этого параметра значение NULL.
Возвращаемое значение
Возвращает S_OK, если палитра была обновлена, или S_FALSE, если палитра не изменилась.
Комментарии
Если палитру необходимо обновить, этот метод выполняет следующие действия:
- Вызывает CImagePalette::MakePalette для создания новой логической палитры.
- Отправляет событие EC_PALETTE_CHANGED в диспетчер фильтров графов.
- Вызывает CBaseWindow::SetPalette для объекта CBaseWindow .
- Вызывает CDrawImage::IncrementPaletteVersion для объекта CDrawImage .
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|