ICCPROFILEEXT

typedef struct __ICCPROFILE
{
   L_UINT
uStructSize;
   L_UINT
uDataSize;
   L_UINT
uTagDataSize;
   ICCHEADER
IccHeader;
   ICCTAG_LIST
tagList;
   L_UCHAR
L_FAR * pTagData;
   L_UCHAR
L_FAR * pData;
} ICCPROFILEEXT, L_FAR * pICCPROFILEEXT;

The ICCPROFILEEXT structure is used to save all the information and data about an ICC profile.

Member

Description

uStructSize

Size of the structure in bytes. Use the sizeof operator to calculate this value.

uDataSize

A value that indicates the size of the pData pointer in bytes.

uTagDataSize

A value that indicates the size of the pTagData pointer in bytes.

IccHeader

A pointer to an ICCHEADER structure that has all the ICC header’s data.

tagList

A pointer to an ICCTAG_LIST structure that contains information and data about all the tags in the ICC profile.

pTagData

A pointer to a buffer that contains all the tags' data.

pData

A pointer to a buffer that contains all the ICC profile’s data.

Comments

The data in all the fields is converted into little Indian format, except for the data in the pTagData and the pData pointers. The user doesn’t need to access the data in the pData and pTagData pointers directly. The ICC defined functions provide access to the data in them. Consequently, the data in these two members are kept in big Indian format.

When loading an existing ICC profile (one that has been saved to either an image file or an ICC profile file) into this structure, the pData member will contain all the profile data in one block of memory, and the pTagData member will contain only the tags data in one block of memory. The uDataSize member contains the size of the pData pointer which is the ICC profile’s size, and the uTagDataSize member contains the size of the pTagData pointer.