Remarks, Example – MagTek Excella Windows API99875313 User Manual

Page 39

Advertising
background image

Section 3. Excella API


31

Remarks


If the function succeeds, MICR_ST_OK is returned.
If the requested image is not found, MICR_ST_IMAGE_NOT_FOUND is returned.
If the device fails to respond to the command, the return value is MICR_ST_DEVICE_NOT_RESPONDING.
If the size of the buffer uses to store the image data is not large enough, MICR_ST_NOT_ENOUGH_MEMORY is
returned.

Example


#define BUFFER_LEN 512

// DocInfo is returned by the MTMICRProcessCheck()
#define BUFFER_LEN 4096

GET_IMAGE getImages [4];
DWORD valueDataSize;
char cValueData [BUFFER_LEN]

for (int i = 1; i < 5; i++)
{

// Get the image size for image number i

valueDataSize = BUFFER_LEN;

if (MTMICRGetIndexValue (DocInfo, ”Image Info”, ”Image Size”, i, cValueData, &valueDataSize) ==

MICR_ST_OK)

{

// Convert the size to integer

bufferSize = atol (cValueData);


valueDataSize = BUFFER_LEN;


// Get the image id

if (bufferSize && (MTMICRGetIndexValue (DocInfo, ”Image Info”, ”Image URL”, i, cValueData,
&valueDataSize) == MICR_ST_OK))

{

char *p = (char *) malloc (strlen (cValueData)+1);
getImages [i-1]..pcImageId = p;

strcpy (getImage [i-1]. pcImageId, cValueData);
getImages [i-1]..dwBufferLength = bufferSize;
getImages [i-1]..pcBuffer =

(char *) VirtualAlloc (NULL, getImages [i-1]..dwBufferLength,
MEM_COMMIT, PAGE_READWRITE);

}

}

}
// Use function MTMICRGetDevice to get device name for variable “Device”
error = MTMICRGetImages (Device, getImages, 4);


Advertising