ENUMTAGSCALLBACK Function

#include "l_bitmap.h"

L_INT pEXT_CALLBACK YourFunction (uTag, uType, uCount, pUserData)

L_UINT16 uTag;

/* tag to identify the data in the TIFF file */

L_UINT16 uType;

/* tag data type */

L_UINT32 uCount;

/* number of values */

L_VOID L_FAR * pUserData;

/* user data that was passed to L_EnumFileTags */

L_EnumFileTags calls this callback for each tag present on the page.

Parameter

Description

uTag

Tag to identify the data in the TIFF file. This may be any tag specified in L_SetTag, or any other tag added by the TIFF filter when saving the file. For example, all of the TIFF comments would generate a particular TIFF tag.

uType

Tagged data type. Valid values are:

 

Value

Meaning

 

TAG_BYTE

[1] Byte.

 

TAG_ASCII

[2] Byte in the range of 0 to 255.

 

TAG_SBYTE

[6] Byte used as signed number in the range of -128 to +127.

 

TAG_UNDEFINED

[7] Byte, with application-defined usage.

 

TAG_SHORT

[3] Two bytes, unsigned.

 

TAG_SSHORT

[8] Two bytes, signed.

 

TAG_LONG

[4] Four bytes, unsigned.

 

TAG_SLONG

[9] Four bytes, signed.

 

TAG_RATIONAL

[5] Eight bytes, used as a pair of unsigned long integers, where the first number is the numerator and the second is the denominator of a fraction.

 

TAG_SRATIONAL

[10] Eight bytes, used as a pair of signed long integers, where the first number is the numerator and the second is the denominator of a fraction.

 

TAG_FLOAT

[11] Four bytes used as a floating point number.

 

TAG_DOUBLE

[12] Eight bytes used as a double-precision floating point number.

uCount

Number of elements of type uType. Note that this is not the same as the number of bytes. For example, if uCount is 10 and uType is TAG_LONG, you will need 10 x 4 = 40 bytes to read the tag data.

pUserData

A void pointer that you can use to access a variable or structure containing data that your callback function needs. This gives you a way to receive data indirectly from the function that uses this callback function. (This is the same pointer that you pass in the pUserData parameter of the L_EnumMarkers function.)

 

Keep in mind that this is a void pointer, which must be cast to the appropriate data type within your callback function.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

L_EnumFileTags calls this callback for each tag in the page.

Do not attempt to use the L_DeleteTag function to delete tags from inside an ENUMTAGSCALLBACK callback function. If you want to delete tags that you enumerate, use ENUMTAGSCALLBACK to add the tags to a list. Upon returning from L_EnumFileTags, you can delete all the tags from the list.

See Also

Functions:

L_EnumFileTags, L_ReadFileTag

Topics:

Implementing TIFF Comments and Tags

Example

For an example, refer to L_ReadFileTag.