L_WriteFileCommentExt

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_WriteFileCommentExt (pszFile, uType, pComments, pSaveOptions)

L_TCHAR, L_FAR * pszFile;

/* file name */

L_UINT uType;

/* type of comment */

LPFILECOMMENTS pComments;

/*pointer to a FILECOMMENTS structure containing information about the comments */

pSAVEFILEOPTION pSaveOptions;

/* pointer to optional extended save options */

Writes a comment into a FlashPix file. Only used to change a comment in an existing file.

Parameter

Description

pszFile

Character string containing the FlashPix file name.

uType

The type of comment. Refer to Types of File Comments. For more information concerning FlashPix file comments, see FlashPix File Comments.

pComments

Pointer to a structure which contains one data value and two pointers. The data value indicates the number of comments stored. One pointer points to an array of pointers which in turn point to individual Comments. The other pointer points to an array of integers which indicate the size of each Comment stored.

pSaveOptions

Pointer to optional extended save options. Pass NULL to use the default save options.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Presently this function only works with FlashPix format files.

To write comments to a file, all the comments to be added to the file must be set using L_SetComment. L_SetComment, by itself, does not write a comment to a file, it prepares the values for the next save. Once all comments are set, the comments are saved using any function which saves files, such as L_SaveFile or L_SaveBitmap when creating a new file.

To save TIFF comments without overwriting a saved image, use L_WriteFileComment.

Required DLLs and Libraries

LTFIL
File format DLLs

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 95 / 98 / Me, Windows 2000 / XP, Windows CE.

See Also

Functions:

L_ReadFileComment, L_WriteFileComment, L_ReadFileCommentExt, L_SetComment, L_GetFileCommentSize, L_WriteFileMetaData

Topics:

Raster Image Functions: Maintaining File Comments,

 

Loading and Saving Images

 

For a list of functions that utilize the LOADFILEOPTION or SAVEFILEOPTION structures, refer to Functions Utilizing the LOADFILEOPTION or SAVEFILEOPTION structures.

Example

FILECOMMENTS FileComments;
L_UCHAR L_FAR *pPointer[CMNT_LAST + 1];
L_UINT   uSize[CMNT_LAST + 1];
FPXCOMMENT_HEADER_ELEMENT L_FAR *pElement;
L_UINT16 L_FAR  *pShort;
L_FLOAT L_FAR *pFloat;
L_UINT   I;
L_UCHAR  Buffer[1024];
FileComments.count  = CMNT_LAST + 1;
FileComments.pointer  = pPointer;
FileComments.size = uSize;
for ( I = 0; I < CMNT_LAST; I++)
{
 uSize[I] = 0;
 pPointer[I] = NULL;
}
pElement = (FPXCOMMENT_HEADER_ELEMENT L_FAR *) Buffer;
pElement->size = sizeof(FPXCOMMENT_HEADER_ELEMENT) + sizeof(L_FLOAT);
pElement->type = FPXENUM_FLOAT;
pFloat  = (L_FLOAT L_FAR*)(L_UINT16 L_FAR *)(pElement + 1);
*pFloat  = 12.34f;
uSize[CMNT_FPXFILMSIZEX] = pElement->size;
pPointer[CMNT_FPXFILMSIZEX] = (L_UCHAR L_FAR *)pElement;
pElement = (FPXCOMMENT_HEADER_ELEMENT L_FAR *)(pFloat + 1);
pElement->size = sizeof(FPXCOMMENT_HEADER_ELEMENT) + sizeof(L_UINT16);
pElement->type = FPXENUM_SHORT;
pShort  = (L_UINT16 L_FAR *)(pElement + 1);
*pShort  = 1234;
uSize[CMNT_FPXFILMFRAMENUMBER] = pElement->size;
pPointer[CMNT_FPXFILMFRAMENUMBER] = (L_UCHAR L_FAR *)pElement;
L_WriteFileCommentExt
(TEXT("TEST.FPX"), CMNT_FPXFILMDESCRIPTIONGROUP, &FileComments, NULL);