ENUMTAGS2CALLBACK

Summary

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

Syntax

#include "l_bitmap.h"

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

Parameters

L_UINT16 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 TIFF comments would generate a particular TIFF tag.

L_UINT16 uType

Tagged data type. Valid values are:

Value Meaning
TAG_BYTE [1] Byte in the range of 0 to 255.
TAG_ASCII [2] Byte in the range of 0 to 127.
TAG_SHORT [3] Two bytes, unsigned.
TAG_LONG [4] Four bytes, unsigned.
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_SBYTE [6] Byte used as signed number in the range of -128 to +127.
TAG_UNDEFINED [7] Byte, with application-defined usage.
TAG_SSHORT [8] Two bytes, signed.
TAG_SLONG [9] Four bytes, signed.
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.
TAG_IFD [13] Four bytes containing a file offset for an IFD (image file descriptor).
TAG_LONG8 [16] (BigTIFF only) Eight bytes used as an unsigned 64-bit integer value.
TAG_SLONG8 [17] (BigTIFF only) Eight bytes used as a signed 64-bit integer value.
TAG_IFD8 [18] (BigTIFF only) Eight bytes containing a file offset for an IFD (image file descriptor).

L_UINT32 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, it will need 10 x 4 = 40 bytes to read the tag data.

L_VOID * pData

Pointer to the tag data (only if L_EnumFileTags2 was called with the ENUM_TAGDATA flag). If ENUM_TAGDATA flag was not used, this pointer is NULL.

L_VOID * pUserData

A void pointer that can be used to access a variable or structure containing data that the callback function needs. This gives a way to receive data indirectly from the function that uses this callback function. (This is the same pointer that is passed 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 the callback function.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

L_EnumFileTags2 calls this callback for each tag in the page.

DO NOT use the L_DeleteTag function to delete tags from inside an ENUMTAGS2CALLBACK callback function. To this, use ENUMTAGS2CALLBACK to add the tags to a list. Upon returning from L_EnumFileTags2, delete all the tags from the list.

The pData pointer is valid only until this callback returns. To use this data after it is being called, make a copy of this information and store it in the user data.

Required DLLs and Libraries

See Also

Functions

Topics

Example

For an example, refer to L_EnumFileTags2.

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.