Obtaining Profile ReferencesMost of the ColorSync Manager functions require that your application identify the profile or profiles to use in carrying out the work of the function. For example, when your application calls functions to perform color matching or color gamut checking, you must identify the profiles to use for the session. For high-level functions that use QuickDraw, you specify a source profile and a destination profile. For low-level functions, you specify a color world containing source and destination profiles or a set of concatenated profiles. You can also create a device-linked profile, which is described in "Creating and Using Device-Linked Profiles" (page 4-52), but to do so your application must first obtain references to all the profiles that will comprise the device-linked profile.
The ColorSync Manager provides for multiple concurrent accesses to a single profile through use of a private data structure called a profile reference. A profile reference is a unique reference to a profile; it is the means by which your application identifies a profile and gains access to the contents of that profile. Many applications can use the same profile at the same time, each with its own reference to the profile. However, an application can only change a profile if it has the only reference to the profile.