LOADINFOCALLBACK Function

#include "l_bitmap.h"

L_INT pEXT_CALLBACK YourFunction(hFile, pInfo, pUserData)

L_HFILE hFile;

/* file handle of the file to load */

pLOADINFO pInfo;

/* pointer to the structure with file information */

L_VOID* pUserData;

/* pointer to additional parameters */

This function handles input data that is in a format (such as raw FAX) that LEADTOOLS cannot recognize.

Parameter

Description

hFile

The Windows file handle of the file to be loaded.

pInfo

Pointer to the LOADINFO structure that supplies information about the file that LEADTOOLS needs.

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 calling 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

Refer to L_SetLoadInfoCallback for a description of how this type of callback function is used.

Required DLLs and Libraries

LTFIL

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

Example

This LOADINFOCALLBACK function provides information for a raw fax file. This example uses hard-coded and saved information. Your application probably would get the information in some other way.

typedef struct _MYDATA
{
   L_INT nWidth;
   L_INT nHeight;
} MYDATA;

L_INT  EXT_CALLBACK LoadInfoCallBack(L_HFILE   fd,
                                     pLOADINFO pInfo,
                                     L_VOID * pUserData )
{
   MYDATA *pData = (MYDATA *)pUserData;
   UNREFERENCED_PARAMETER(fd);

   /* Set the LOADINFO structure's fields */
   pInfo->BitsPerPixel = 1;
   pInfo->Flags  = LOADINFO_TOPLEFT;
   pInfo->Format = FILE_FAX_G3_2D;
   pInfo->Height = pData->nHeight; /* Value set before we created the file */
   pInfo->Width  = pData->nWidth;  /* Value set before we created the file */
   pInfo->Offset = 0;
   return SUCCESS;
}