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


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

Функция DrvIcmCreateColorTransform создает преобразование цвета ICM.

Синтаксис

HANDLE DrvIcmCreateColorTransform(
  [in]           DHPDEV           dhpdev,
  [in]           LPLOGCOLORSPACEW pLogColorSpace,
  [in, optional] PVOID            pvSourceProfile,
  [in]           ULONG            cjSourceProfile,
  [in]           PVOID            pvDestProfile,
  [in]           ULONG            cjDestProfile,
  [in, optional] PVOID            pvTargetProfile,
  [in]           ULONG            cjTargetProfile,
  [in]           DWORD            dwReserved
);

Параметры

[in] dhpdev

Обработка к PDEV физического устройства.

[in] pLogColorSpace

Указатель на структуру логического цветового пространства. Структура LOGCOLORSPACEW определена в документации по Microsoft Windows SDK. Драйвер должен получать сведения об исходном цветовом пространстве из этой структуры, если pvSourceProfile имеет значение NULL.

[in, optional] pvSourceProfile

Указатель на карту памяти исходного профиля. Этот параметр может принимать значение NULL.

[in] cjSourceProfile

Указывает размер (в байтах) карты памяти исходного профиля. Если pvSourceProfile имеет значение NULL, этому параметру следует задать нулевое значение.

[in] pvDestProfile

Указатель на карту памяти целевого профиля.

[in] cjDestProfile

Указывает размер (в байтах) карты памяти профиля назначения.

[in, optional] pvTargetProfile

Указатель на карту памяти целевого профиля. Этот параметр может принимать значение NULL.

[in] cjTargetProfile

Указывает размер (в байтах) карты памяти целевого профиля. Если pvTargetProfile имеет значение NULL, этот параметр должен иметь нулевое значение.

[in] dwReserved

Зарезервированный параметр, который должен быть равен нулю.

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

DrvIcmCreateColorTransform возвращает дескриптор созданному преобразованию при успешном выполнении. В противном случае он сообщает об ошибке и возвращает значение NULL.

Комментарии

Драйвер создает преобразование цвета на основе данных профиля следующим образом:

  • Драйвер должен использовать исходный профиль, на который указывает pvSourceProfile , если он не имеет значения NULL. В противном случае драйвер должен использовать данные в структуре, к которой pLogColorSpace указывает на сведения о исходном цветовом пространстве.
  • Когда драйвер получает целевой профиль, но не целевой профиль, он должен хранить данные, необходимые для преобразования цветов из указанного исходного цветового пространства в указанное целевое цветовое пространство.
  • Когда драйвер получает как целевой, так и целевой профили, он должен хранить данные, необходимые для преобразования цветов из указанного исходного цветового пространства в указанное целевое цветовое пространство и из целевого цветового пространства обратно в целевое цветовое пространство. В этом сценарии устройство драйвера является конечным устройством, на котором может быть подтвержден образ. Затем драйвер должен иметь возможность преобразовать цветовое пространство изображения проверки правописания в цветовое пространство целевого устройства.
Независимо от того, указан ли целевой профиль, устройство драйвера всегда является целевым устройством.

Предоставленные профили соответствуют версии 2.10 формата профиля ICC. Если драйвер не понимает указанный формат, вызов должен завершиться ошибкой.

Драйвер может безопасно получить доступ ко всей карте памяти каждого профиля. Указатели pvSourceProfile, pvDestProfile и pvTargetProfile действительны только во время область вызова DrvIcmCreateTransform.

Драйверы, сообщающие о поддержке ICM, должны реализовать эту функцию. Драйвер указывает на поддержку ICM, устанавливая флаг GCAPS_ICM в элементе flGraphicsCaps структуры DEVINFO .

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winddi.h (включая Winddi.h)

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

DrvIcmDeleteColorTransform