![]() |
PATH![]() |
![]() ![]() |
Your application specifies the location for a profile using a profile location structure of type
CMProfileLocation
. A ColorSync profile that you open or create is typically stored in one of the following locations:
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 CMProfileLocation to identify a profile's location when your application calls
Your application identifies the type of data the CMProfileLocation u field holds--a file specification, a handle, and so on--in the CMProfileLocation structure's locType field. You use the constants defined by the following enumeration to identify the location type.
enum {
cmNoProfileBase = 0, /* profile is temporary */
cmFileBasedProfile = 1, /* profile is disk-based */
cmHandleBasedProfile = 2, /* profile in relocatable memory */
cmPtrBasedProfile = 3, /* profile in nonrelocatable memory */
cmProcedureBasedProfile = 4 /* profile is accessed by procedure */
};
CMProfLoc
holds a structure of type
CMFileLocation
identifying the profile file. You can specify this type of profile location with the
CMOpenProfile
,
CMNewProfile
,
CMCopyProfile
, and
CMNewLinkProfile
functions.CMProfLoc
holds a handle to the profile in a structure of type
CMHandleLocation
. You can specify this type of profile location with the
CMOpenProfile
,
CMNewProfile
, and
CMCopyProfile
functions.CMProfLoc
holds a pointer to the profile in a structure of type
CMPtrLocation
. You can specify this type of profile location with the
CMOpenProfile
function only.CMProfLoc
holds a universal procedure pointer to your profile access procedure in a structure of type
CMProcedureLocation
. You can specify this type of profile location with the
CMOpenProfile
,
CMNewProfile
,
CMCopyProfile
, and
CMNewLinkProfile
functions. For a description of an application-supplied profile access procedure, see
MyCMProfileAccessProc
. For sample code demonstrating procedure-based profile access, see
Accessing a Resource-Based Profile With a Procedure
.