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 文档中定义。 当 pvSourceProfileNULL 时,驱动程序应从此结构获取源颜色空间信息。

[in, optional] pvSourceProfile

指向源配置文件的内存映射的指针。 此参数可以为 NULL。

[in] cjSourceProfile

指定源配置文件内存映射的大小(以字节为单位)。 如果 pvSourceProfileNULL,则此参数应设置为零。

[in] pvDestProfile

指向目标配置文件的内存映射的指针。

[in] cjDestProfile

指定目标配置文件内存映射的大小(以字节为单位)。

[in, optional] pvTargetProfile

指向目标配置文件的内存映射的指针。 此参数可以为 NULL。

[in] cjTargetProfile

指定目标配置文件内存映射的大小(以字节为单位)。 如果 pvTargetProfileNULL,则此参数应设置为零。

[in] dwReserved

应设置为零的保留参数。

返回值

DrvIcmCreateColorTransform 在成功时返回所创建的转换的句柄。 否则,它将报告错误并返回 NULL

注解

驱动程序根据配置文件数据创建颜色转换,如下所示:

  • 当 pvSourceProfile 不为 NULL 时,驱动程序应使用 pvSourceProfile 指向的源配置文件。 否则,驱动程序应使用 pLogColorSpace 指向的结构中的数据来获取源颜色空间信息。
  • 当驱动程序收到目标配置文件但没有目标配置文件时,它应存储将颜色从指定源颜色空间转换为指定目标颜色空间所需的数据。
  • 当驱动程序同时收到目标和目标配置文件时,它应存储将颜色从指定源颜色空间转换为指定目标颜色空间以及从目标颜色空间转换回目标颜色空间所需的数据。 在此方案中,驱动程序的设备是可以证明映像的目标设备。 然后,驱动程序必须能够将校对图像的颜色空间转换为目标设备的颜色空间。
无论是否指定了目标配置文件,驱动程序的设备始终是目标设备。

提供的配置文件遵循 ICC 配置文件格式的版本 2.10。 如果驱动程序不理解指定的格式,则应使调用失败。

驱动程序可以安全地访问每个配置文件的整个内存映射。 pvSourceProfilepvDestProfilepvTargetProfile 指针仅在调用 DrvIcmCreateTransform 的范围内有效。

报告 ICM 支持的驱动程序应实现此函数。 驱动程序通过在 DEVINFO 结构的 flGraphicsCaps 成员中设置 GCAPS_ICM 标志来指示对 ICM 的支持。

要求

要求
目标平台 桌面
标头 winddi.h (包括 Winddi.h)

另请参阅

DrvIcmDeleteColorTransform