Previous Next

DrvIcmCreateColorTransform

The DrvIcmCreateColorTransform function creates an ICM color transform.

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

Parameters

dhpdev
Handle to the physical device's PDEV.
pLogColorSpace
Pointer to a logical color space structure. The LOGCOLORSPACEW structure is defined in the Platform SDK documentation. The driver should obtain source color space information from this structure when pvSourceProfile is NULL.
pvSourceProfile
Pointer to the memory map of the source profile. This parameter can be NULL.
cjSourceProfile
Specifies the size, in bytes, of the source profile memory map. If pvSourceProfile is NULL, this parameter should be set to zero.
pvDestProfile
Pointer to the memory map of the destination profile.
cjDestProfile
Specifies the size, in bytes, of the destination profile memory map.
pvTargetProfile
Pointer to the memory map of the target profile. This parameter can be NULL.
cjTargetProfile
Specifies the size, in bytes, of the target profile memory map. If pvTargetProfile is NULL, this parameter should be set to zero.
dwReserved
Reserved parameter that should be set to zero.

Return Value

DrvIcmCreateColorTransform returns a handle to the created transform upon success. Otherwise, it reports an error and returns NULL.

Headers

Declared in winddi.h. Include winddi.h.

Comments

The driver creates a color transform from the profile data as follows:

Regardless of whether a target profile is specified, the driver's device is always the destination device.

The provided profiles adhere to version 2.10 of the ICC profile format. If the driver does not understand the specified format, it should fail the call.

The driver can safely access the entire memory map of each profile. The pvSourceProfile, pvDestProfile, and pvTargetProfile pointers are valid only during the scope of the call to DrvIcmCreateTransform.

Drivers that report ICM support should implement this function. A driver indicates support for ICM by setting the GCAPS_ICM flag in the flGraphicsCaps member of the DEVINFO structure.

See Also

DrvIcmDeleteColorTransform