Gets a tag from the ICC profile.
#include "ltkrn.h"
#include "ltclr.h"
L_LTCLR_API L_INT L_GetICCTagData(pICCProfile, pTagData, uTagSignature)
Pointer to the ICCPROFILEEXT structure that contains the tag to get.
Pointer to a buffer to be updated with the tag data.
A value that indicates the signature of the tag to get from the ICC profile. Possible values include private tags and the values listed in ICCTAGSIGNATURE. Signatures of private tags must be registered with the ICC.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
The pTagData pointer should point to a structure of the same type as the tag type to be retrieved by this function. In case of a private tag type, the pTagData must point to a structure of type ICCTAG_UNKNOWN_TYPE.
If only the tag is private, this function returns ERROR_ICC_UNKNOWN_TAG. If only the tag type is private, this function returns ERROR_ICC_UNKNOWN_TYPE. If both the tag and the type are private, this function returns ERROR_ICC_UNKNOWN_TAG_AND_TYPE. In all three of these cases however, the pTagData parameter is updated correctly with the tag in the ICC profile.
Win32, x64.
This example will load an ICC profile, get a tag, and then free the ICCPROFILEEXT structure.
L_INT GetICCTagDataExample(pICCPROFILEEXT pIccProfile)
{
L_INT nRet;
ICCTAG_XYZ_TYPE iccXyzType;
// Get Calibration Date and Time tag
nRet = L_GetICCTagData(pIccProfile, (L_UCHAR*) &iccXyzType, MediaWhitePointTag);
if(nRet != SUCCESS &&
nRet != ERROR_ICC_UNKNOWN_TAG_AND_TYPE &&
nRet != ERROR_ICC_UNKNOWN_TAG &&
nRet != ERROR_ICC_UNKNOWN_TYPE)
return nRet;
L_FreeICCTagType((L_UCHAR*) &iccXyzType, XYZTypeSig);
return SUCCESS;
}