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


Функция EngQueryPalette (winddi.h)

Функция EngQueryPalette запрашивает у указанной палитры ее атрибуты.

Синтаксис

ENGAPI ULONG EngQueryPalette(
  HPALETTE hpal,
  ULONG    *piMode,
  ULONG    cColors,
  ULONG    *pulColors
);

Параметры

hpal

Дескриптор палитры для запроса.

piMode

Указатель на расположение, которое получает режим палитры, как первоначально указано в EngCreatePalette.

cColors

Указывает количество записей в буфере, на которые указывает pulColors . Возвращаемое значение зависит от того, является ли cColors отрицательным .

pulColors

Указатель на буфер, который получает сведения о цвете палитры. Если cColors равно нулю, pulColors может иметь значение NULL.

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

Если cColors равно нулю, EngQueryPalette возвращает количество записей палитры, необходимых в буфере, на которые указывает pulColors , чтобы вернуть сведения о цвете палитры. Если cColors не равно нулю, а pulColors — не NULL, EngQueryPalette возвращает количество записей, записанных в буфере, на которые указывает pulColors .

Комментарии

Если режим палитры PAL_BITFIELDS, PAL_RGB или PAL_BGR и буфер, на который указывает pulColors , достаточно велик, pulColors указывает на три маски ULONG, представляющие красные, зеленые и синие цветовые маски палитры.

Если режим палитры PAL_INDEXED и буфер, на который указывает pulColors , достаточно велик, pulColors содержит все 24-разрядные значения RGB, представляющие цвета палитры.

Драйвер должен проверить наличие флага GCAPS_PALMANAGED, чтобы определить, представляют ли цвета фиксированную или изменяемую палитру.

EngQueryPalette предназначен для использования драйверами зеркального отображения, которые должны знать цветовой формат основного дисплея. Драйвер зеркального отображения обычно вызывает эту функцию в своей подпрограмме DrvEnablePDEV .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

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

DrvEnablePDEV

EngCreatePalette