icm.h header

This header is used by multiple technologies. For more information, see:

icm.h contains the following programming interfaces:

Functions

 
AssociateColorProfileWithDeviceA

Associates a specified color profile with a specified device. (ANSI)
AssociateColorProfileWithDeviceW

Associates a specified color profile with a specified device. (Unicode)
CheckBitmapBits

Checks whether the pixels in a specified bitmap lie within the output gamut of a specified transform.
CheckColors

Determines whether the colors in an array lie within the output gamut of a specified transform.
CloseColorProfile

Closes an open profile handle.
CMCheckColors

Determines whether given colors lie within the output gamut of a specified transform.
CMCheckColorsInGamut

Determines whether specified RGB triples lie in the output gamut of a specified transform.
CMCheckRGBs

Checks bitmap colors against an output gamut.
CMConvertColorNameToIndex

Converts color names in a named color space to index numbers in a color profile.
CMConvertIndexToColorName

Transforms indices in a color space to an array of names in a named color space. (CMConvertIndexToColorName)
CMCreateDeviceLinkProfile

Creates a device link profile in the format specified by the International Color Consortium in its ICC Profile Format Specification.
CMCreateMultiProfileTransform

Accepts an array of profiles or a single device link profile and creates a color transform. This transform is a mapping from the color space specified by the first profile to that of the second profile and so on to the last one.
CMCreateProfile

Creates a display color profile from a LOGCOLORSPACEA structure.
CMCreateProfileW

Creates a display color profile from a LOGCOLORSPACEW structure.
CMCreateTransform

Deprecated. There is no replacement API because this one was no longer being used. Developers of alternate CMM modules are not required to implement it. (CMCreateTransform)
CMCreateTransformExt

Creates a color transform that maps from an input LOGCOLORSPACEA to an optional target space and then to an output device, using a set of flags that define how the transform should be created.
CMCreateTransformExtW

Creates a color transform that maps from an input LOGCOLORSPACEW to an optional target space and then to an output device, using a set of flags that define how the transform should be created.
CMCreateTransformW

Deprecated. There is no replacement API because this one was no longer being used. Developers of alternate CMM modules are not required to implement it. (CMCreateTransformW)
CMDeleteTransform

Deletes a specified color transform, and frees any memory associated with it.
CMGetInfo

Retrieves various information about the color management module (CMM).
CMGetNamedProfileInfo

Retrieves information about the specified named color profile.
CMGetPS2ColorRenderingDictionary

CMGetPS2ColorRenderingDictionary and the additional parameters associated with it are to be determined.
CMGetPS2ColorRenderingIntent

Retrieves the PostScript Level 2 color rendering intent from a profile.
CMGetPS2ColorSpaceArray

CMGetPS2ColorSpaceArray and the parameters, returns, and remarks associated with it are to be determined.
CMIsProfileValid

Reports whether the given profile is a valid ICC profile that can be used for color management.
CMTranslateColors

Translates an array of colors from a source color space to a destination color space using a color transform.
CMTranslateRGB

Translates an application-supplied RGBQuad into the device color space.
CMTranslateRGBs

Translates a bitmap from one color space to another using a color transform.
CMTranslateRGBsExt

Translates a bitmap from one defined format into a different defined format and calls a callback function periodically, if one is specified, to report progress and permit the calling application to terminate the translation.
ColorProfileAddDisplayAssociation

ColorProfileAddDisplayAssociation associates an installed color profile with a specified display in the given scope.
ColorProfileGetDisplayDefault

ColorProfileGetDisplayDefault gets the default color profile for a given display in the specified scope.
ColorProfileGetDisplayList

ColorProfileGetDisplayList retrieves the list of profiles associated with a given display in the specified scope.
ColorProfileGetDisplayUserScope

ColorProfileGetDisplayUserScope gets the currently selected color profile scope of the provided display - either user or system.
ColorProfileRemoveDisplayAssociation

ColorProfileRemoveDisplayAssociation disassociates an installed color profile from a specified display in the given scope.
ColorProfileSetDisplayDefaultAssociation

ColorProfileSetDisplayDefaultAssociation sets an installed color profile as the default profile for a specified display in the given scope.
ConvertColorNameToIndex

Converts color names in a named color space to index numbers in an International Color Consortium (ICC) color profile.
ConvertIndexToColorName

Transforms indices in a color space to an array of names in a named color space. (ConvertIndexToColorName)
CreateColorTransformA

Creates a color transform that applications can use to perform color management. (ANSI)
CreateColorTransformW

Creates a color transform that applications can use to perform color management. (Unicode)
CreateDeviceLinkProfile

Creates an International Color Consortium (ICC) device link profile from a set of color profiles, using the specified intents.
CreateMultiProfileTransform

Accepts an array of profiles or a single device link profile and creates a color transform that applications can use to perform color mapping.
CreateProfileFromLogColorSpaceA

Converts a logical color space to a device profile. (ANSI)
CreateProfileFromLogColorSpaceW

Converts a logical color space to a device profile. (Unicode)
DeleteColorTransform

Deletes a given color transform.
DisassociateColorProfileFromDeviceA

Disassociates a specified color profile with a specified device on a specified computer. (ANSI)
DisassociateColorProfileFromDeviceW

Disassociates a specified color profile with a specified device on a specified computer. (Unicode)
EnumColorProfilesA

Enumerates all the profiles satisfying the given enumeration criteria. (ANSI)
EnumColorProfilesW

Enumerates all the profiles satisfying the given enumeration criteria. (Unicode)
GetCMMInfo

Retrieves various information about the color management module (CMM) that created the specified color transform.
GetColorDirectoryA

Retrieves the path of the Windows COLOR directory on a specified machine. (ANSI)
GetColorDirectoryW

Retrieves the path of the Windows COLOR directory on a specified machine. (Unicode)
GetColorProfileElement

Copies data from a specified tagged profile element of a specified color profile into a buffer.
GetColorProfileElementTag

Retrieves the tag name specified by dwIndex in the tag table of a given International Color Consortium (ICC) color profile, where dwIndex is a one-based index into that table.
GetColorProfileFromHandle

Given a handle to an open color profile, the GetColorProfileFromHandle function copies the contents of the profile into a buffer supplied by the application. If the handle is a Windows Color System (WCS) handle, then the DMP is returned and the CAMP and GMMP associated with the HPROFILE are ignored.
GetColorProfileHeader

Retrieves or derives ICC header structure from either ICC color profile or WCS XML profile. Drivers and applications should assume returning TRUE only indicates that a properly structured header is returned. Each tag will still need to be validated independently using either legacy ICM2 APIs or XML schema APIs.
GetCountColorProfileElements

Retrieves the number of tagged elements in a given color profile.
GetNamedProfileInfo

Retrieves information about the International Color Consortium (ICC) named color profile that is specified in the first parameter.
GetPS2ColorRenderingDictionary

Retrieves the PostScript Level 2 color rendering dictionary from the specified ICC color profile.
GetPS2ColorRenderingIntent

Retrieves the PostScript Level 2 color rendering intent from an ICC color profile.
GetPS2ColorSpaceArray

Retrieves the PostScript Level 2 color space array from an ICC color profile.
GetStandardColorSpaceProfileA

Retrieves the color profile registered for the specified standard color space. (ANSI)
GetStandardColorSpaceProfileW

Retrieves the color profile registered for the specified standard color space. (Unicode)
InstallColorProfileA

Installs a given profile for use on a specified machine. The profile is also copied to the COLOR directory. (ANSI)
InstallColorProfileW

Installs a given profile for use on a specified machine. The profile is also copied to the COLOR directory. (Unicode)
IsColorProfileTagPresent

Reports whether a specified International Color Consortium (ICC) tag is present in the specified color profile.
IsColorProfileValid

Allows you to determine whether the specified profile is a valid International Color Consortium (ICC) profile, or a valid Windows Color System (WCS) profile handle that can be used for color management.
OpenColorProfileA

Creates a handle to a specified color profile. The handle can then be used in other profile management functions. (ANSI)
OpenColorProfileW

Creates a handle to a specified color profile. The handle can then be used in other profile management functions. (Unicode)
RegisterCMMA

Associates a specified identification value with the specified color management module dynamic link library (CMM DLL). When this ID appears in a color profile, Windows can then locate the corresponding CMM so as to create a transform. (ANSI)
RegisterCMMW

Associates a specified identification value with the specified color management module dynamic link library (CMM DLL). When this ID appears in a color profile, Windows can then locate the corresponding CMM so as to create a transform. (Unicode)
SelectCMM

Allows you to select the preferred color management module (CMM) to use.
SetColorProfileElement

Sets the element data for a tagged profile element in an ICC color profile.
SetColorProfileElementReference

Creates in a specified ICC color profile a new tag that references the same data as an existing tag.
SetColorProfileElementSize

Sets the size of a tagged element in an ICC color profile.
SetColorProfileHeader

Sets the header data in a specified ICC color profile.
SetStandardColorSpaceProfileA

Registers a specified profile for a given standard color space. The profile can be queried using GetStandardColorSpaceProfileW. (ANSI)
SetStandardColorSpaceProfileW

Registers a specified profile for a given standard color space. The profile can be queried using GetStandardColorSpaceProfileW. (Unicode)
SetupColorMatchingA

Creates a Color Management dialog box that lets the user choose whether to enable color management and, if so, provides control over the color profiles used and over the rendering intent. (ANSI)
SetupColorMatchingW

Creates a Color Management dialog box that lets the user choose whether to enable color management and, if so, provides control over the color profiles used and over the rendering intent. (Unicode)
TranslateBitmapBits

Translates the colors of a bitmap having a defined format so as to produce another bitmap in a requested format.
TranslateColors

Translates an array of colors from the source color space to the destination color space as defined by a color transform.
UninstallColorProfileA

Removes a specified color profile from a specified computer. Associated files are optionally deleted from the system. (ANSI)
UninstallColorProfileW

Removes a specified color profile from a specified computer. Associated files are optionally deleted from the system. (Unicode)
UnregisterCMMA

Dissociates a specified ID value from a given color management module dynamic-link library (CMM DLL). (ANSI)
UnregisterCMMW

Dissociates a specified ID value from a given color management module dynamic-link library (CMM DLL). (Unicode)
WcsAssociateColorProfileWithDevice

WcsAssociateColorProfileWithDevice associates a specified WCS color profile with a specified device.
WcsCheckColors

Determines whether the colors in an array are within the output gamut of a specified WCS color transform.
WcsCreateIccProfile

Converts a WCS profile into an International Color Consortium (ICC) profile.
WcsDisassociateColorProfileFromDevice

Disassociates a specified WCS color profile from a specified device on a computer.
WcsEnumColorProfiles

Enumerates all color profiles that satisfy the enumeration criteria in the specified profile management scope.
WcsEnumColorProfilesSize

Returns the size, in bytes, of the buffer that is required by the WcsEnumColorProfiles function to enumerate color profiles.
WcsGetCalibrationManagementState

Determines whether system management of the display calibration state is enabled.
WcsGetDefaultColorProfile

Retrieves the default color profile for a device, or for a device-independent default if the device is not specified.
WcsGetDefaultColorProfileSize

Returns the size, in bytes, of the default color profile name (including the NULL terminator), for a device.
WcsGetDefaultRenderingIntent

Retrieves the default rendering intent in the specified profile management scope.
WcsGetUsePerUserProfiles

Determines whether the user chose to use a per-user profile association list for the specified device.
WcsOpenColorProfileA

Creates a handle to a specified color profile. (ANSI)
WcsOpenColorProfileW

Creates a handle to a specified color profile. (Unicode)
WcsSetCalibrationManagementState

Enables or disables system management of the display calibration state.
WcsSetDefaultColorProfile

Sets the default color profile name for the specified profile type in the specified profile management scope.
WcsSetDefaultRenderingIntent

Sets the default rendering intent in the specified profile management scope.
WcsSetUsePerUserProfiles

Enables a user to specify whether or not to use a per-user profile association list for the specified device.
WcsTranslateColors

Translates an array of colors from the source color space to the destination color space as defined by a color transform.

Callback functions

 
PBMCALLBACKFN

TBD (PBMCALLBACKFN)
PCMSCALLBACKA

*PCMSCALLBACKA* (or ApplyCallbackFunction) is a callback function that you implement that updates the WCS configuration data while the dialog box displayed by the SetupColorMatchingW function is executing.
PCMSCALLBACKW

*PCMSCALLBACKW* (or ApplyCallbackFunction) is a callback function that you implement that updates the WCS configuration data while the dialog box displayed by the SetupColorMatchingW function is executing.

Structures

 
CMYKCOLOR

Description of the CMYKCOLOR structure.
COLOR

Description of the COLOR union.
COLORMATCHSETUPA

The COLORMATCHSETUP structure contains information that the SetupColorMatchingW function uses to initialize the ColorManagement dialog box. (ANSI)
COLORMATCHSETUPW

The COLORMATCHSETUP structure contains information that the SetupColorMatchingW function uses to initialize the ColorManagement dialog box. (Unicode)
ENUMTYPEA

Contains information that defines the profile enumeration constraints. (ANSI)
ENUMTYPEW

Contains information that defines the profile enumeration constraints. (Unicode)
GENERIC3CHANNEL

TBD (GENERIC3CHANNEL)
GRAYCOLOR

Description of the GRAYCOLOR structure.
HiFiCOLOR

Description of the HiFiCOLOR structure.
LabCOLOR

TBD (LabCOLOR)
NAMED_PROFILE_INFO

The NAMED_PROFILE_INFO structure is used to store information about a named color profile.
NAMEDCOLOR

TBD (NAMEDCOLOR)
PROFILE

Contains information that defines a color profile.
PROFILEHEADER

Contains information that describes the contents of a device profile file. This header occurs at the beginning of a device profile file.
RGBCOLOR

TBD (RGBCOLOR)
XYZCOLOR

TBD (XYZCOLOR)
YxyCOLOR

TBD (YxyCOLOR)

Enumerations

 
BMFORMAT

The values of the BMFORMAT enumerated type are used by several WCS functions to indicate the format that particular bitmaps are in.
COLORDATATYPE

Used by WCS functions to indicate the data type of vector content.
COLORPROFILESUBTYPE

Specifies the subtype of the color profile.
COLORPROFILETYPE

Specifies the type of color profile.
COLORTYPE

The values of the COLORTYPE enumeration are used by several WCS functions. Variables of type COLOR are defined in the color spaces enumerated by the COLORTYPE enumeration.
WCS_PROFILE_MANAGEMENT_SCOPE

Specifies the scope of a profile management operation, such as associating a profile with a device.