LAnnContainer::LoadMemory

#include "ltwrappr.h"

virtual L_INT LAnnContainer::LoadMemory(pMem, uMemSize)

L_UCHAR * pMem;

/* pointer to the file in memory to be loaded */

L_UINT32 uMemSize;

/* size of the file in memory */

Loads an annotation from a file that is stored in memory.

Parameter

Description

pMem

Pointer to the file in memory to be loaded.

uMemSize

Size of the file in memory (in bytes).

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

If this function returns SUCCESS and phObject is updated with NULL, there are no annotation objects to load.

Required DLLs and Libraries

LTANN

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

Win32, x64.

See Also

Functions:

LAnnContainer::DeletePage, LAnnContainer::DeletePageMemory, LAnnContainer::DeletePageOffset, LAnnContainer::FileInfo, LAnnContainer::FileInfoMemory, LAnnContainer::FileInfoOffset, Class Members, LAnnotation::GetOptions, LAnnotation::SetOptions

Topics:

Annotation Functions: Input and Output

 

Implementing Annotations

 

Key Annotation Features

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT LAnnContainer_LoadMemoryExample(LAnnContainer  * pLeadAContainer)
{
   L_INT nRet;
   LAnnContainer TmpContainer ;// Temporary container for the annotations 
   HGLOBAL hFileInMemory = NULL;// Memory handle 
   L_SIZE_T uMemSize; // Size of the data in memory 
   L_UCHAR  *pData; // Pointer to the data in memory
   // Load the initial annotations
   nRet = TmpContainer.Load( MAKE_IMAGE_PATH(TEXT("TEST.ANN")));
   if(nRet != SUCCESS)
      return nRet;
   // Save the annotations as a file in memory 
   nRet = TmpContainer.SaveMemory( ANNFMT_XML, FALSE, &hFileInMemory, &uMemSize);
   if(nRet != SUCCESS)
      return nRet;
   // Destroy the temporary container
   nRet = TmpContainer.Destroy( ANNFLAG_RECURSE);
   if(nRet != SUCCESS)
      return nRet;
   // Get the pointer to the memory-resident file 
   pData = (L_UCHAR  *) GlobalLock (hFileInMemory);
   // Load the new file from memory
   nRet = pLeadAContainer->LoadMemory((L_UCHAR *)pData, (L_UINT32)uMemSize);
   if(nRet != SUCCESS)
      return nRet;
   /* Clean up */
   GlobalUnlock (hFileInMemory);
   GlobalFree (hFileInMemory);
   return SUCCESS;
}