Remarks, Example – MagTek Excella Windows API99875313 User Manual
Page 39
![background image](/manuals/413696/39/background.png)
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);