Defines profile location kinds.
Your application specifies the location for a profile using a profile location structure of type
CMProfile. A ColorSync profile that you open or create is typically stored in one of the following locations:
In a disk file. The
ufield (a union) of the profile location data structure contains a file specification for a profile that is disk-file based. This is the most common way to store a ColorSync profile.
In relocatable memory. The
ufield of the profile location data structure contains a handle specification for a profile that is stored in a handle.
In nonrelocatable memory. The
ufield of the profile location data structure contains a pointer specification for a profile that is pointer based.
In an arbitrary location, accessed by a procedure you provide. The
ufield of the profile location data structure contains a universal procedure pointer to your access procedure, as well as a pointer that may point to data associated with your procedure.
Additionally, your application can create a new or duplicate temporary profile. For example, you can use a temporary profile for a color-matching session and the profile is not saved after the session. For this case, the ColorSync Manager allows you to specify the profile location as having no specific location.
You use a pointer to a data structure of type
CMProfile to identify a profile’s location when your application calls
CMOpenfunction to obtain a reference to a profile
CMCopyfunctions to create a new profile
CMGetfunction to get the location of an existing profile
Your application identifies the type of data the
u field holds—a file specification, a handle, and so on—in the
loc field. You use the constants defined by this enumeration to identify the location type.