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


Метод CImagePalette.MakeIdentityPalette

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

Метод MakeIdentityPalette пытается создать "палитру удостоверений", определяемую как палитру, которая напрямую сопоставляется с палитрой, выбранной на устройстве отображения.

Синтаксис

HRESULT MakeIdentityPalette(
   PALETTEENTRY *pEntry,
   INT          iColours,
   LPSTR        szDevice
);

Параметры

pEntry

Указатель на массив записей палитры.

iColours

Количество записей палитры в pEntry.

szDevice

Указатель на строку, содержащую имя устройства отображения, возвращаемое функцией GDI EnumDisplayDevices . Чтобы использовать устройство отображения main, задайте для этого параметра значение NULL.

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

Возвращает S_OK в случае успешного выполнения или S_FALSE в случае неудачи.

Комментарии

Этот метод сравнивает зарезервированные записи в системной палитре с соответствующими записями в массиве pEntry . Если они точно совпадают, метод устанавливает флаг PC_NOCOLLAPSE в оставшихся (не зарезервированных) записях палитры в pEntry. Этот флаг не позволяет GDI пытаться сопоставить записи логической палитры с записями системной палитры.

Метод CImagePalette::MakePalette вызывает этот метод.

Требования

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

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

Класс CImagePalette