Profiles are typically stored as files on disks, although they can be imbedded in an image located across a network or in read-only memory in a printer.
Profiles are loaded with the KcsLoadProfile() function (see "KcsLoadProfile() ") and are saved with the KcsSaveProfile() function (see "KcsSaveProfile() "). KcsLoadProfile() takes the three arguments listed below. KcsSaveProfile() takes the first two arguments listed.
A profile identifier (Id)
A profile description
Hints about loading the profile
The profile Id is returned to the calling program from KcsLoadProfile() for use with other API functions. In the case of KcsSaveProfile(), the profile identifier is passed back into the KCMS framework library to indicate the profile to be saved.
The profile description is a union of many different types, each of which represents a way to supply a location where the profile data should be stored. The type
and the associated fields in the union are required to complete a profile description. The type
field indicates which of the union's fields to use.
A calling application can request that the KCMS framework load only specific parts of a profile, (for example, just its attributes). The caller uses the KcsModifyLoadHints() function to provide these load hints, which change the load status of the profile. Hints are described by the KcsLoadHints
data type discussed on "KcsLoadHints ". Load hints that request specific operations and specific content be loaded for a profile are described in "Operation Hints".