Gets a comment field from a file in memory.


#include "l_bitmap.h"

L_LTFIL_API L_INT L_ReadFileCommentMemory(pBuffer, uType, pComment, uLength, nBufferSize, pLoadOptions)


L_UCHAR* pBuffer

Pointer to the file in memory.

L_UINT uType

The type of comment. Refer to Types of File Comments.

L_UCHAR* pComment

Pointer to your buffer that will hold the comment field, including the terminating NULL. You can pass NULL if you only want to get the length of the field (the return value).

L_UINT uLength

The size of your buffer that will hold the comment field.

L_SSIZE_T nBufferSize

Size of the file in memory (in bytes).


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


Value Meaning
>=0 Length of the comment field.
< 0 An error occurred. An error occurred. Refer to Return Codes.


Some file formats can contain comments, and some cannot, and each file format has its own set of comment types. When you save a file, the comments, which LEADTOOLS maintains in a global array, are saved in the file. The index into the array (specified using a constant) determines the type of comment, as described in Types of File Comments.

Before saving a file, you use the L_SetComment function to specify the comments to be saved.

The L_ReadFileCommentMemory function lets you read comments that are already saved in a file in memory. For more information refer to the L_SetComment function.


Required DLLs and Libraries


Win32, x64, Linux.

See Also




This example gets the CMNT_SZDATETIME comment from a TIFF file in memory

L_INT ReadFileCommentMemoryExample(L_UCHAR * pBuf, L_SIZE_T lFileSize) 
   L_INT nRet; 
   L_CHAR szMessage[80];  /* MessageBox string                */ 
   L_CHAR * pTextToGet;    /* Comment string that we will get  */ 
   HGLOBAL hTextToGet;     /* Handle for memory management     */ 
   L_INT CommentLength;    /* Length of the comment string that we will get */ 
   /* Use the return value to get the length of a comment in the file */ 
   CommentLength = L_ReadFileCommentMemory (pBuf, CMNT_SZARTIST, NULL, 0, lFileSize, NULL); 
   /* Allocate and lock a zero-filled buffer for the comment */ 
   hTextToGet = GlobalAlloc(GPTR, CommentLength); 
   pTextToGet = (L_CHAR *)GlobalLock( hTextToGet ); 
   /* Get the actual comment from the file */ 
   nRet = L_ReadFileCommentMemory (pBuf, CMNT_SZARTIST, (L_UCHAR *) pTextToGet, CommentLength, lFileSize, NULL); 
   /* Show the comment that was saved in the file */ 
   sprintf_s(szMessage, ("CMNT_SZARTIST:\n %s"), pTextToGet); 
   MessageBoxA(NULL, szMessage, ("CMNT_SZARTIST"), MB_OK); 
   /* Free memory */ 
   return SUCCESS; 

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 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.