Hand Held Products, Inc. d/b/a Hand Held Products (“Hand Held Products”) reserves the right to make changes in specifications
and other information contained in this document without prior notice, and the reader should in all cases consult Hand Held
Products to determine whether any such changes have been made. The information in this publication does not represent a
commitment on the part of Hand Held Products.
Hand Held Products shall not be liable for technical or editorial errors or omissions contained herein; nor for incidental or
consequential damages resulting from the furnishing, performance, or use of this material.
This document contains proprietary information which is protected by copyright. All rights are reserved. No part of this document
may be photocopied, reproduced, or translated into another language without the prior written consent of Hand Held Products.
Microsoft
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Other product names mentioned in this document may be trademarks or registered trademarks of other companies and are the
property of their respective owners.
®
Visual C/C++®, Windows® 95, Windows® 98, Windows® 2000, Windows® CE, and Windows NT® are either registered
This document is an overview of the structure of the IT4X00 Series OEM imaging software provided by Hand Held Products.
Detailed information that describes the Hand Held Products OEM Application Programming Interface is provided as a part of the
4X00 Series.
Design Overview
The Hand Held Products OEM imaging software supports a number of different Hand Held Products imaging engines, while
exposing the user to a common programming interface for all supported imagers. This approach provides Hand Held Products
with a simple way of adding support for new imaging hardware, while allowing user software to remain largely unchanged. In
support of this design approach, the software components implemented in the Hand Held Products OEM imaging software have
been organized in the following layered format:
User Layer
OEM API Layer
Image Acquisition Layer
Hardware Interface Layer
Of the four layers, Hand Held Products supplies the OEM API and Image Acquisition layers.
User Layer
The User Layer can be the application that is written by a developer or end user that accesses the imaging system by using the
OEM API functions. The User Layer can alternatively be an abstraction layer provided by an OEM that allows the OEM to
customize the level of API functionality exposed to their end user. Either option has access to all the applicable 4X00 Series
functions that access and control the imaging subsystem
OEM API Layer
The OEM API Software is supplied by Hand Held Products and is the primary interface to the imaging system. For Windows
applications, the OEM API Software functionality is provided in the form of a Windows Dynamic Link Library. For nonWindows CE applications, the form of the OEM API is to be determined. Full explanation of the 4X00 Series is provided later in
this document.
Image Acquisition Layer
The Image Acquisition Software layer is the software supplied by Hand Held Products that is responsible for imager auto
detection, initialization, state management, exposure control, and image acquisition. During application execution, this software
maintains the state and control of the imager, processes requests for images, and executes configuration and control requests.
For Windows CE applications, this layer is implemented in a stream device driver and is used by the OEM API layer. For nonWindows CE applications, the form of this layer and its interface to the OEM API layer is to be determined.
Hardware Interface Layer
The Hardware Interface Software is the hardware-specific software provided by the system developer and used by the Image
Acquisition Software to access the physical imaging hardware and run hardware-specific tasks on the system. This software is
called upon by Image Acquisition Software to handle physical control of the hardware, such as communication with the imager,
timing functionality, low level interrupt service routine control, DMA initialization and control, system specific memory control, and
illumination functionality. For Windows CE applications, this layer is provided in the form of a Windows Dynamic Link Library that
is loaded by the Imaging device driver. For non-Windows CE applications, the form of this layer and its interface to the Image
Acquisition Software is to be determined.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide1 - 1
Features of the 4X00 Series
The 4X00 Series consists of the following:
• The API Definition and Documentation
• API Libraries
• Sample Code
The 4X00 Series functions are defined on a higher level so they can be easily understood and integrated into your applications.
• The image/data capture engine is easily integrated.
• A single API is used for all Hand Held Products engines.
• Libraries are available for Windows CE 2.x and Windows CE 3.x.
• Sample source code is provided so you can see an example of how to use the API functions.
Target Operating Systems for the 4X00 Series
The 4X00 Series is designed for use with Microsoft Windows CE version 2.0 and above
1 - 2IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
Image Engine API Library Summary
The following is a summary of the API functions. The full description of each of function is found on the page noted.
Core FunctionSummary DescriptionPage
oemAimerOnTurn on/off the engine's aiming LEDs2-1
oemConnectInitialize connection with engine device2-2
oemDisconnectClose the connection to the engine device2-3
oemGetAPIRevisionRetrieve the API library's software revision information
oemGetDecodeModeRetrieve the decoding mode of the engine2-5
oemGetErrorMessage
oemGetImagerPropertiesReturns information about the imager2-9
oemGetLeaveLightsOn
oemGetScanDriverRevision
oemLeaveLightsOn
oemPowerOffImager
Given an error number, returns a string describing the error
condition
Return parameter reflecting operation mode of illumination
LEDs during scanning
Returns the revision of the scan driver component that
interfaces to the OEM API layer
Configure illumination LEDs to be always on or in normal mode
during scanning
Allows the application to fully power down the imager for
additional power control
Decoder Functions
oemDefaultSymbology
oemDisableSymbologyDisable decoding of specific bar code symbologies2-2
oemDisableSymbologyAll
oemEnableSymbologyEnable decoding of specific bar code symbologies2-3
oemEnableSymbologyAll
oemGetDecodeAttemptLimitRetrieves the current decode attempt maximum time limit2-4
oemGetDecodeCenteringWindowEnable decode centering mode2-4
oemGetDecodeTimeReturns time to decode in milliseconds2-5
oemGetDecoderRevisionRetrieve decoder’s current revision2-5
oemGetLinearRange
oemGetMaxMessageChars
oemGetPrintWeightRetrieve the current or default print weight the decoder expects2-12
oemGetSearchTimeLimitRetrieves the current search maximum time limit2-13
oemGetSetupAllGets all symbology decoding options2-13
oemGetSetupAusPostGets the Australian Postal Code symbology decoding options2-14
oemGetSetupAztec
oemGetSetupBPOGets the British Postal Code symbology decoding options2-14
oemGetSetupCanPostGets the Canadian Postal Code symbology decoding options2-15
oemGetSetupChinaPostGets the Chinese Postal Code symbology decoding options2-15
Return some or all symbology options back to factory default
settings
Disable decoding of all symbologies, including unknown
symbologies
Enable decoding of all symbologies, including unknown
symbologies
Get the size of the window used in Advanced Linear decoding
mode
Retrieve the size of the largest possible message (in
characters)
Gets the Aztec and Aztec Mesa Code symbology-specific
decoding options
2-4
2-6
2-11
2-13
2-43
2-43
2-2
2-3
2-3
2-12
2-12
2-14
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide1 - 3
oemGetSetupCodabarGets the Codabar symbology decoding options2-16
oemGetSetupCodablockGets the Codablock symbology decoding options2-16
oemGetSetupCode11Gets the Code 11 symbology decoding options2-17
oemGetSetupCode128Gets the Code 128 symbology decoding options2-18
oemGetSetupCode16KGets the Code 16K symbology decoding options2-18
oemGetSetupCode32Gets the Code 32 symbology decoding options2-19
oemGetSetupCode39Gets the Code 39 symbology decoding options2-19
oemGetSetupCode49Gets the Code 49 symbology decoding options2-20
oemGetSetupCode93Gets the Code 93 symbology decoding options2-21
oemGetSetupCompositeGets the EANoUCC Composite symbology decoding options2-21
oemGetSetupCompositeEx
oemGetSetupCouponCodeGets the Coupon Code symbology decoding options2-23
oemGetSetupDataMatrixGets the Data Matrix symbology decoding options2-23
oemGetSetupDutchPostGets the Dutch Postal Code symbology decoding options2-24
oemGetSetupEAN8Gets the EAN 8 symbology decoding options2-24
oemGetSetupEAN13Gets the EAN 13 symbology decoding options2-25
oemGetSetupIATA25Gets the IATA 2 of 5 symbology decoding options2-26
oemGetSetupInt25Gets the Interleaved 2 of 5 symbology decoding options2-27
oemGetSetupISBTGets the ISBT symbology decoding options2-28
oemGetSetupJapostGets the Japanese Postal Code symbology decoding options2-28
oemGetSetupKoreanPostGets the Korean Postal Code symbology decoding options2-28
oemGetSetupMaxicodeGets the MaxiCode symbology decoding options2-29
oemGetSetupMesaGets the Aztec Mesa symbology decoding options2-30
oemGetSetupMicroPDFGets the MicroPDF417 symbology decoding options2-30
oemGetSetupMSIGets the MSI symbology decoding options2-31
oemGetSetupMx25Gets the Matrix 2 of 5 symbology decoding options2-32
oemGetSetupOCRGets the OCR symbology decoding options2-32
oemGetSetupPDF417Gets the PDF417 symbology decoding options2-33
oemGetSetupPlanetGets the Planet Code symbology decoding options
oemGetSetupPlesseyGets the Plessey symbology decoding options2-34
oemGetSetupPosiCodeGets the Posicode symbology decoding options2-35
oemGetSetupPostnetGets the Postnet symbology decoding options2-36
oemGetSetupQRGets the QR Code symbology decoding options2-36
oemGetSetupRSSGets the RSS symbology decoding options2-37
oemGetSetupStrt25Gets the Straight 2 of 5 symbology decoding options2-37
oemGetSetupTelepenGets the Telepen symbology decoding options2-38
oemGetSetupTLC39Gets the TLC39 symbology decoding options2-38
oemGetSetupTriopticGets the Trioptic symbology decoding options2-39
oemGetSetupUPCAGets the UPC version A symbology decoding options2-39
oemGetSetupUPCEGets the UPC version E0 & E1 symbology decoding options2-40
oemGetVideoReverseDetermines if decoding of inverted symbols is enabled2-41
oemLightsOnTurns the engine's illumination LEDs on and off.2-43
oemSetDecodeAttemptLimitSets the decode attempt maximum time limit.2-44
oemSetDecodeCenteringWindowEnables/Setup decode centering mode.2-44
Gets the EANoUCC Composite as well as other Composite
symbology decoding options
2-22
2-34
1 - 4IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
oemSetDecodeModeSets the decoding mode of the engine2-45
oemSetLinearRange
oemSetPrintWeight
oemSetSearchTimeLimit
oemSetupAztecSet the Aztec Code symbology decoding options2-47
oemSetupChinaPostSet the Chinese Postal Code symbology decoding options2-47
oemSetupCodabarSet the Codabar symbology decoding options2-48
oemSetupCodablockSet the Codablock symbology decoding options2-48
oemSetupCode11Set the Code 11 symbology decoding options2-49
oemSetupCode128Set the Code 128 symbology decoding options2-49
oemSetupCode16KSet the Code 16K symbology decoding options2-50
oemSetupCode39Set the Code 39 symbology decoding options2-50
oemSetupCode49Set the Code 49 symbology decoding options2-51
oemSetupCode93Set the Code 93 symbology decoding options2-52
oemSetupCompositeSet the EANoUCC Composite symbology decoding options2-52
oemSetupCompositeEx
oemSetupDataMatrixSet the Data Matrix symbology decoding options2-53
oemSetupEAN8Set the EAN 8 symbology decoding options2-53
oemSetupEAN13Set the EAN 13 symbology decoding options2-54
oemSetupIATA25Set the IATA 2 of 5 symbology decoding options2-55
oemSetupInt25Set the Interleaved 2 of 5 symbology decoding options2-55
oemSetupKoreanPostSet the Korean Postal Code symbology decoding options2-56
oemSetupMaxicodeSet the MaxiCode symbology decoding options2-56
oemSetupMesaSet the Aztec Mesa symbology decoding options2-57
oemSetupMicroPDFSet the MicroPDF417 symbology decoding options2-57
oemSetupMSISet the MSI symbology decoding options2-58
oemSetupMx25Set the Matrix 2 of 5 symbology decoding options2-58
oemSetupOCRSet the OCR symbology decoding options2-59
oemSetupPDF417Set the PDF417 symbology decoding options2-60
oemSetupPlanetSet the Planet Code symbology decoding options2-60
oemSetupPlesseySet the Plessey Code symbology decoding options2-60
oemSetupPosiCode
oemSetupPostnetSet the Postnet symbology decoding options2-61
oemSetupQRSet the QR Code symbology decoding options2-61
oemSetupRSSSet the RSS symbology decoding options2-62
oemSetupStrt25Set the Straight 2 of 5 symbology decoding options2-62
oemSetupTelepenSet the Telepen symbology decoding options2-63
oemSetupUPCASet the UPC version A symbology decoding options2-63
oemSetupUPCESet the UPC version E0 & E1 symbology decoding options2-64
oemSetVideoReverseEnables/disables the decoding of inverted symbols2-65
oemWaitForDecode
Sets the size of the window used in the Advanced Linear
decoding mode
Adjust the print weight or relative blackness that the decoder
expects
Sets the maximum time limit for the decoders search
processing
Set the EANoUCC Composite as well as other Composite
symbology decoding options
Set the PosiCode symbology decoding options2-61
The engine scans until a symbol is decoded, or a timeout is
reached
2-46
2-46
2-47
2-52
2-67
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide1 - 5
oemWaitForDecodeRaw
oemWaitMultipleDecodeReads multiple symbols using a single function call2-69
oemWaitMultipleDecodeRaw
The engine scans until a symbol is decoded, or a timeout is
reached - decoded message is returned in raw form
Reads multiple symbols using a single function call - decoded
message is returned in raw form
2-68
2-70
Imaging Functions
oemAcquireImageAcquires an image but does not return it.2-1
oemGetExposureSettingsRetrieves image parameters used during image acquisition.2-6
oemGetImageRetrieve an image from the engine2-7
oemGetImageDataGet image data from the Imager2-8
oemGetImagerInfo
oemGetLastImageRetrieves the last image acquired2-10
oemGetLastImageExt
oemGetLastImageSize
oemGetSetupImagerGets the current imager setup values.2-27
oemImageStreamInitIntialize image streaming interface.2-42
oemImageStreamReadRetrieve current image2-42
oemImageStreamStartStart imager acquiring images2-42
oemImageStreamStopTell imager to stop acquiring images2-43
oemStartIntellImgXferStarts an IQ image transfer2-65
Retrieve the pixel dimensions and bit depth of the engine's
Imager
Retrieves the last image and the exposure parameters
acquired by the image engine
Retrieve the rows, columns and size of the last image returned
by oemAcquireImage, oemGetImage, or
oemImageStreamRead.
2-8
2-10
2-11
Data Type Definitions
Throughout this document the following variable types are used. These data types are defined in the Oemdecodece.h header
file.
VariableDescription
BOOLOS-dependent-size Boolean variable (1 = true, 0 = false).
BYTE8 bit unsigned variable.
DecodeMsg_tTypedef structure used to define decoded bar code message information.
DecodeMsgRaw_tTypedef structure used to define decoded bar code message information in raw format.
DWORD32 bit unsigned integer variable.
ExposureMode_t
ExposureSettings_t
FileFormat_tEnumerated integer type identifying possible image data formats.
ImagerDesc_tTypedef structure used to set the format of the images returned from the engine.
ImagerSetup_tTypedef structure used to set imager parameters used during image acquisition.
IntellImgDesc_tT ypedef structure used to set parameters used during an IQ image transfer.
OCRDirection_tEnumerated integer identifying OCR character orientation.
OCRMode_tEnumerated integer identifying the OCR font to be decoded.
Enumerated integer type used to select the exposure mode used during image acquisition.
The mode options are: fixed, on chip, and Hand Held Products exposure mode.
Typedef structure used to hold all possible exposure setting parameters used during image
acquisition.
1 - 6IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
VariableDescription
Result_t
ScanIlluminat_t
SetupType_tEnumerated integer type that identifies setup type for configuration functions.
TCHAROS-dependent character variable. 16 bit for Unicode systems, otherwise 8 bits.
WORD16 bit unsigned integer variable.
Enumerated integer type that defines API function result values. See Function Result
Values on page 3-2.
Enumerated integer type that identifies possible illumination modes used during image
acquisition.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide1 - 7
1 - 8IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
2
API Function Descriptions
The following is an alphabetic listing of each API function with its complete description and a prototype for each function. All API
functions return a result code of type Result_t. See Function Result Values on page 3-2 for a table of result code values.
oemAcquireImage
This function tells the Imager to acquire an image, but does not return the image.
Pointer to a data structure that sets up the Imager.
typedef struct
{
int NumUpdates;
int Exposure;
int Gain;
int TargetWhite;
int TargetWhiteWindow;
int Reserved;
} ImagerSetup _t;
NumUpdates: The Imager takes multiple images attempting to reach a target white value in the image, while
adjusting its gain and exposure settings. This limits the number of attempts.
Exposure : Maximum allowable exposure setting for the Imager. The greater the exposure, the more light,
and hence the brighter the image. However, it also increases motion sensitivity.
Gain: Maximum allowable gain for the Imager. Higher gain will yield a brighter image, at the expense of
added noise. This will not affect motion sensitivity.
TargetWhite: The Imager takes multiple images attempting to reach this target white value in the image, plus
or minus the TargetWhiteWindow value.
TargetWhiteWindow: The acceptable target white value falls within the range TargetWhite +/-
TargetWhiteWindow.
Reserved: Must be set to -1.
oemAimerOn
This function turns the engine's aiming mechanism on or off.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 1
Parameters
bEnable
If TRUE, the aiming mechanism is turned on; otherwise the aiming mechanism is turned off.
oemConnect
The application should call this function before any other API functions. Once an application has connected to the engine, all
other API functions can be successfully called. The application does not need to re-connect to the engine unless it has called
oemDisconnect (page 9).
Result_toemConnect ( )
Return Values
RESULT_SUCCESS
RESULT_ERR_DRIVER
Parameters
All Reserved, should be NULL
oemDefaultSymbology
This function sets the specified symbologies to their factory default configurations. See the individual setup functions to
determine the factory default setting for a particular symbology.
Result_toemDefaultSymbology (
BOOL *pSymbology,
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pSymbology
Points to an array of symbologies you want to default. For example, if a value is set to 1 (i.e., pSymbology
[SYM_AZTEC]=1), then Aztec symbology is defaulted.
Note: The array must be of size MAX_SYMBOLOGIES (Defined in Oemdecodece.h). You must initialize the entire array before
calling this function.
oemDisableSymbology
This function disables specified symbologies from decoding.
Result_toemDisableSymbology (
BOOL *pSymbology
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pSymbology
Points to an array of symbologies you want to disable. For example, if a value is set to 1 (i.e., pSymbology
[SYM_AZTEC]=1), then Aztec decoding is disabled.
Note: The array must be of size MAX_SYMBOLOGIES (Defined in Oemdecodece.h). You must initialize the entire array before
calling this function.
2 - 2IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
oemDisableSymbologyAll
This function disables all symbologies from decoding, including any unknown symbologies.
Result_toemDisableSymbologyAll (
void
)
Return Values
RESULT_SUCCESS
Parameters
None.
oemDisconnect
This function terminates the connection with the engine. Any resources used by the connection device driver are freed.
Result_toemDisconnect (
void
)
Return Values
RESULT_SUCCESS
Parameters
None.
oemEnableSymbology
This function enables specified symbologies for decoding.
Result_toemEnableSymbology (
BOOL *pSymbology
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pSymbology
Points to an array of symbologies you want to enable. For example, if a value is set to 1 (i.e., pSymbology
[SYM_AZTEC]=1), then Aztec decoding is enabled.
Note: The array must be of size MAX_SYMBOLOGIES (Defined in Oemdecodece.h). You must initialize the entire array before
calling this function.
oemEnableSymbologyAll
This function enables all symbologies for decoding, including any unknown symbologies.
Result_toemEnableSymbologyAll (
void
)
Return Values
RESULT_SUCCESS
Parameters
None.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 3
oemGetAPIRevision
This function returns an ASCII string containing the API's current revision.
Result_t oemGetAPIRevision (
TCHAR *pszRev
)
Return Values
RESULT_SUCCESS always
Parameters
pszRev
Upon successful return, this null-terminated string is filled in with the revision level of the API. The caller must allocate
at least ENGINE_API_RESPONSE_LEN bytes for this string.
oemGetDecodeAttemptLimit
This function is used to retrieve the current decode attempt maximum time limit. The limit, specified in milliseconds, is the
maximum amount of time the decoder may use to attempt a decode on the current image.
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pnLimit
Points to a word variable that upon return of RESULT_SUCCESS will contain the decode attempt maximum time limit.
A value of zero indicates no limit.
oemGetDecodeCenteringWindow
This function returns the Enabled/Setup information for decode centering mode. In this mode, a decode call is only successful
if the area bounding the decoded symbol intersects a caller defined rectangle located about the center of the captured image.
Note: This function allows the engine to discriminate symbols that are located physically close to each other so only one symbol
is captured during decode. Only the symbol intersecting the intersection rectangle is returned.
Result_toemGetDecodeCenteringWindow (
SetupType_t SetupType,
BOOL *pbEnabled,
RECT *pIntersectRect
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
2 - 4IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
Parameters
SetupType
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
PbEnabled
Pointer to a BOOL which returns TRUE if centering mode enabled or FALSE if it's not.
oemGetDecodeMode
This function retrieves the decoding mode of the engine.
Result_t oemGetDecodeMode (
SetupType_t SetupType,
WORD *pnMode
)
Return Values
RESULT_SUCCESS
RESULT_ERR_UNSUPPORTED
Parameters
SetupType
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pnMode
Points to a WORD variable that will be filled in with status for the decode mode:
1 = Standard
2 = Advanced Linear
4 = Quick Omni
oemGetDecoderRevision
This function returns an ASCII string containing the decoder’s current revision.
Result_toemGetDecoderRevision (
TCHAR *pszRev
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pszRev
Upon successful return, this null terminated string is filled with the revision level of the decoder software. The caller must
allocate at least ENGINE_API_RESPONSE_LENGTH bytes for this string.
oemGetDecodeTime
This function the time in milliseconds that it took to decode the barcode data returned by oemWaitForDecode().
Result_toemGetDecodeTime (
DWORD *pdwTime,
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pdwTime
Points to an unsinged 32 bit integer into which the last time to decode is returned.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 5
oemGetErrorMessage
This function returns a string containing the description of the error corresponding to the nError parameter.
Result_t oemGetErrorMessage (
TCHAR *pszErrorMsg,
Result_t nError
)
Return Values
RESULT_SUCCESS always
Parameters
pszErrorMsg
Upon successful return, this null-terminated string is filled in with text describing the error identified by the nError
parameter. The caller must allocate at least ENGINE_API_RESPONSE_LEN bytes for this string.
nError
A value returned from another API function call.
oemGetExposureSettings
This function is used to retrieve the various image parameters that are used during image acquisition.
A pointer to an exposure settings structure that has been initialized to zero. Upon return the structure will contain the
current exposure parameters used during image acquisition.
2 - 6IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
oemGetImage
This function retrieves an image from the engine and stores it in memory pointed to by pImageBuffer.
Result_toemGetImage (
BYTE *pImageBuffer,
DWORD *pdwSize,
WORD nTop,
WORD nLeft,
WORD nRight,
WORD nBottom,
WORD nSkip,
WORD nBits,
FileFormat_t nFormat,
WORD nWhiteValue,
WORD nExposeAttempts,
WORD nGap,
BOOL Invert
void ( *fpProgress ) (WORD)
)
Memory pointer to where the image should be stored. The caller must allocate this buffer before calling oemGetImage.
pdwSize
Upon successful return, the number of bytes of image data stored in pImageBuffer.
nTop, nLeft
Coordinates relative to the image engine's pixel grid for first pixel of the transferred image. The upper left pixel has both
an nLeft and an nTop value of 0.
nRight, nBottom
Coordinates relative to the image engine's pixel grid for last pixel of the transferred image.
nSkip:
When transferring an image, transfer every nSkip pixel.
nBits
The color depth for the transferred image. Valid values are typically only 8 or 1, but this depends on the engine
hardware. Independent of the bits used, a lower value is darker than a higher value. For example, if 8 bits are chosen,
then a pixel value of 255 indicates pure white, and a pixel value of 0 indicates pure black. Values in between are to be
interpreted as incremental levels of gray.
nFormat: FF_RAW_BINARY
The black and white data stored in the pImageBuffer is stored 1 bit per pixel starting with the upper left pixel
and proceeding sequentially left to right and top to bottom.
FF_RAW_GRAY
The grayscale data stored in the pImageBuffer is stored 8 bit per pixel starting with the upper left pixel and
proceeding sequentially left to right and top to bottom.
nWhiteValue
The target white value when performing auto exposure control.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 7
nExposeAttempts
The number of attempts the unit makes to get the image to the correct exposure level.
nGap
How close the white value of the image must be to the nWhiteValue for the image to be accepted. A value of 0 (zero)
can be passed in to cause the unit to use its pre-defined value. For example, if you want to use 10 for the nGap, and
the default value for nWhiteValue, then pass in 10 for nGap, and 0 for nWhite.
Invert
The image is rotated 180° (upside down). This allows you to invert images for platforms where the imager is mounted
upside down.
fpProgress
Reserved. Must be NULL.
oemGetImageData
This function gets data from the Imager. Each subsequent call fills the supplied buffer with image data. The end of the image
data is identified by a GetImageData() call that does not fill the buffer (less than BufferSize bytes were placed in the buffer) and
has a return of RESULT_SUCCESS.
TYPE_IT4300 =7
dwImagerRows: Number of rows for a given imager
dwImagerCols: Number of columns for a given imager.
dwBitsPerPixel: Typically this is 8 for byte pixels.
dwRotation: RIGHT_SIDE_UP = 0
ROTATED_RIGHT
UPSIDE_DOWN
ROTATED_LEFT
dwAimerXoffset: This value represents the X coordinate for the center of the aimer pattern.
dwAimerYoffset: This value represents the Y coordinate for the center of the aimer pattern.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 9
oemGetLastImage
This function is used to retrieve the last image acquired by the image engine.
Pointer to the user-supplied buffer to be filled with the image data. The buffer must be at least MAX_IMAGE_SIZE in
size.
pImageSize
Pointer to a DWORD that will return the size of the image.
pImageAttributes
Pointer to an ImageAttributes_t structure that has been initialized to zeros. Upon successful return the structure will
contain the specific values for the returned image. Please see the engnapi.h header file for details of the
ImageAttributes_t structure.
2 - 10IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
oemGetLastImageSize
This function returns the number of rows, number of columns and size in bytes of the last image returned by one of the other
imaging functions: oemAcquireImage, oemGetImage/oemGetImageData or oemImageStreamRead.
Result_toemGetLastImageSize (
WORD *pwCols,
WORD *pwRows,
DWORD *pdwSize
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pwCols
Upon successful return, this variable points to the number of column pixels in the Image.
pwRows
Upon successful return, this variable points to the number of row pixels in the Image.
pdwBytes
Upon successful return, this variable points to the total number of Image bytes.
oemGetLeaveLightsOn
This function returns a parameter reflecting the operational mode of the illumination LEDs during scanning.
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pbEnable
Upon successful return, this variable reflects the operational mode of the illumination LEDs during scanning. If FALSE,
the illumination LEDs will be in normal operational mode and will be flashed on and off during scanning. If TRUE, the
illumination LEDs are always on during scanning and will not flash.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 11
oemGetLinearRange
This function is used to get the size of the window used in the Advanced Linear decoding mode.
Result_t oemGetLinearRange (
SetupType_t SetupType,
WORD *pnLinearRange
)
Return Values
RESULT_SUCCESS
RESULT_ERR_UNSUPPORTED
Parameters
SetupType
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pnLinearRange
Points to a WORD variable where the range value will be placed.
oemGetMaxMessageChars
This function returns the size of the largest possible decode message in characters.
Result_toemGetMaxMessageChars (
WORD *pnChars
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
pnChars
Upon successful return, this variable points to the number of characters (not bytes) required for the largest possible
decode message. In WindowsCE the character size is 2 bytes (wchar_t)
oemGetPrintWeight
This function returns the current or default "Print Weight" (relative contrast) expected by the decoder for barcodes or OCR text.
Result_toemGetPrintWeight (
SetupType_t SetupType,
WORD *pnPrintWeight
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
SetupType
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pnPrintWeight
Upon successful return, this variable points to the print weight (relative blackness) that the decoder expects to see when
attempting to decode symbols or OCR text from an image.
2 - 12IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide
oemGetScanDriverRevision
This function returns the revision of the scan driver component that interfaces to the OEM API layer.
Pointer to string that will contain the revision string. This should be allocated prior to the call and contain 80 characters.
oemGetSearchTimeLimit
This function is used to retrieve the current search maximum time limit. The limit, specified in milliseconds, is the maximum
amount of time the search process may use to look for potential labels in the current image.
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pnLimit
Points to a word variable that upon return of RESULT_SUCCESS will contain the maximum search time limit. A value
of zero indicates no limit.
oemGetSetupAll
This function is used to get all symbology options.
Result_toemGetSetupAll (
SetupType_t SetupType,
BOOL *pEnabled
)
Return Values
RESULT_SUCCESS
RESULT_ERR_PARAMETER
Parameters
SetupType
SETUP_TYPE_CURRENT for current settings, or SETUP_TYPE_DEFAULT for default settings.
pEnabled
Points to an array of symbologies with a size of MAX_SYMBOLOGIES. This array should be declared and cleared.
Upon return, this array will contain the enable/disable status of each symbology.
IMAGETEAM™ 4X00 Series Software Development Kit (SDK) User’s Guide2 - 13
Loading...
+ 63 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.