ZEBRA OPOS Driver Developer's Guide
ZEBRA OPOS Driver Developer's Guide
OPOS DRIVER
DEVELOPER’S GUIDE
ZEBRA SCANNER OPOS DRIVER
DEVELOPER’S GUIDE
72E-149783-05
Revision A
May 2016
ii ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
No part of this publication may be reproduced or used in any form, or by any electrical or mechanical means,
without permission in writing from Zebra. This includes electronic or mechanical means, such as photocopying,
recording, or information storage and retrieval systems. The material in this manual is subject to change
without notice.
The software is provided strictly on an “as is” basis. All software, including firmware, furnished to the user is on
a licensed basis. Zebra grants to the user a non-transferable and non-exclusive license to use each software
or firmware program delivered hereunder (licensed program). Except as noted below, such license may not be
assigned, sublicensed, or otherwise transferred by the user without prior written consent of Zebra. No right to
copy a licensed program in whole or in part is granted, except as permitted under copyright law. The user shall
not modify, merge, or incorporate any form or portion of a licensed program with other program material, create
a derivative work from a licensed program, or use a licensed program in a network without written permission
from Zebra. The user agrees to maintain Zebra’s copyright notice on the licensed programs delivered
hereunder, and to include the same on any authorized copies it makes, in whole or in part. The user agrees not
to decompile, disassemble, decode, or reverse engineer any licensed program delivered to the user or any
portion thereof.
Zebra reserves the right to make changes to any software or product to improve reliability, function, or design.
Zebra does not assume any product liability arising out of, or in connection with, the application or use of any
product, circuit, or application described herein.
No license is granted, either expressly or by implication, estoppel, or otherwise under any Zebra Technologies
Corporation, intellectual property rights. An implied license only exists for equipment, circuits, and subsystems
contained in Zebra products.
iii
Revision History
Changes to the original guide are listed below:
Index
ABOUT THIS GUIDE
Introduction
This guide provides information about the Zebra OPOS Driver which enables bar code data communication
between any scanner and an OPOS compliant POS application via either a USB (IBM Hand-held and SNAPI) or
RS-232 (Wincor-Nixdorf Mode B and SSI) connection.
The Zebra OPOS Driver also enables weight data communication between an MP6200 scanner and an OPOS
compliant POS application via either a USB (IBM Hand-held, IBM Table-top and SNAPI) or RS-232 (SSI)
connection.
Chapter Descriptions
Topics covered in this guide are as follows:
• Chapter 1, INTRODUCTION TO THE ZEBRA SCANNER OPOS DRIVER provides an overview of the Zebra
OPOS Driver.
• Chapter 2, INSTALLATION & CONFIGURATION describes specific installation instructions and settings to
configure the Zebra Scanner OPOS Driver on a host computer.
• Chapter 3, OPOS PROPERTIES, METHODS, EVENTS provides information about the Zebra OPOS Driver
properties, methods, and events.
• Chapter 4, SCANNER OPOS SAMPLE APPLICATION provides information about the Zebra OPOS Driver
properties, methods, and events.
• Chapter 5, SCALE OPOS SAMPLE APPLICATION demonstrates all the OPOS operations available with a
connected Zebra scale.
• Chapter 6, SUPPORTED SYMBOLOGY TYPES VS. SCANNER MODE provides information about the
sample application in the Zebra Scanner OPOS Driver suite.
viii ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
Notational Conventions
The following conventions are used in this document:
CAUTION This symbol indicates that if this information is ignored, the possibility of data or material damage may
occur.
WARNING! This symbol indicates that if this information is ignored the possibility that serious personal
injury may occur.
Service Information
If you have a problem using the equipment, contact your facility's technical or systems support. If there is a
problem with the equipment, they will contact the Zebra Global Customer Support Center at:
www.zebra.com/support.
CHAPTER 1 INTRODUCTION TO THE ZEBRA
SCANNER OPOS DRIVER
Overview
The Zebra OPOS Driver enables bar code data communication between any scanner and an OPOS compliant
POS application via either a USB (IBM Hand-held and SNAPI) or RS-232 (Wincor-Nixdorf Mode B and SSI)
connection. This driver provides an interface for reading bar code data, receiving events, opening, claiming,
and enabling/disabling the device in accordance with the UPOS committee's version 1.12 specification. The
OPOS specification defines a two-layer open-driver software architecture between a POS application running
on a Microsoft Windows operating system and the physical POS hardware device.
• The upper layer, known as the Common Control Object (CCO), is an ActiveX Control that the POS
application uses to interact indirectly with the Zebra scanner. The CCO is unique to each POS device
class (e.g., scanners, scales, printers) and is provided by the UPOS committee. To simplify development
and integration, the Zebra Scanner SDK includes a Monroe CCO (a vendor-independent scanner CCO).
The control object (.ocx) file is located in the corresponding scanner or scale \Bin folder.
• The lower layer, known as the Service Object (SO), is an in-process OLE Automation Server (a DLL) and
is used to interact directly with the POS device, in this case the scanner. The Service Object is unique to
each specific vendor's POS device. The Zebra Scanner SDK contains the Zebra specific SO.
The Zebra OPOS Driver also enables weight data communication between a scale equipped MP6200 scanner
and an OPOS compliant POS application via either a USB (IBM Table-top and SNAPI) or RS-232 (SSI)
connection. This driver provides an interface for reading weight data, receiving events, opening, claiming, and
enabling/disabling the device in accordance with the UPOS committee's version 1.13 specification.
1-2 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
For more information about OPOS, OPOS architecture, terminology, and programmer's guides, refer to:
Overview
This chapter describes installation instructions and settings to configure the Zebra Scanner OPOS Driver on a
host computer.
For custom installation instructions, refer to the Zebra Scanner SDK for Windows Developer’s Guide
(p/n 72E-149784-xx).
NOTE OPOS components are installed by default with the standard Scanner SDK installation. If a custom
Scanner SDK installation is performed, the OPOS option must be selected to install the OPOS
components.
Configuration
After a successful installation of the Zebra Scanner SDK with the OPOS driver, the following system registry
entries are created at:
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scanner\ZEBRA_SCANNER
or
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scale\ZEBRA_SCALE
The Zebra Scanner OPOS Driver reads the registry entry above to retrieve required configurations, for
example baud rate for serial scanners, and scanner filtering rules to form the logical scanner defined by the
user.
See Appendix A, WINDOWS REGISTRY KEYS for OPOS DRIVER for descriptions of supported registry keys.
2-2 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
Scan the appropriate bar code below to configure the scanner for either USB or RS-232 communication
protocols.
SSI
NOTE To configure serial communication settings refer to the Zebra Scanner SDK for Windows Developer’s
Guide (p/n 72E-149784-xx).
CHAPTER 3 OPOS PROPERTIES, METHODS,
EVENTS
Overview
The following steps depict the behavioral model of the OPOS driver and scanner.
3. If the AutoDisable property is TRUE, the Control is disabled when a DataEvent is queued.
4. The Control can deliver a queued DataEvent to the application when the DataEventEnabled property is
TRUE. Just before delivering this event, the Control copies the data into properties and disables further
data events by setting the DataEventEnabled property to FALSE. This causes the Control to queue
subsequent input data while the application processes the current input and associated properties. When
the application finishes the current input and is ready for more data, it re-enables events by setting
DataEventEnabled to TRUE.
5. The Control queues an ErrorEvent (or events) if it encounters an error while gathering or processing input,
and delivers this to the application when the DataEventEnabled property is TRUE.
6. The DataCount property contains the number of DataEvents queued by the Control.
7. Call the ClearInput method to delete all input that the Control queued.
Scanned data is placed into the property ScanData. If the application sets the property DecodeData to TRUE,
the data is decoded into ScanDataLabel and ScanDataType.
The following steps depict the behavioral model of the OPOS driver and scale.
2. When the ReadWeight method successfully returns a value, scale control returns the weight data to the
POS application.
3-2 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
In addition to the Zebra Scanner OPOS Driver's architectural aspects, the following special behaviors occur:
• When there is no scanner connected to a cordless base, Zebra Scanner OPOS Driver considers the
cordless base a scanner. Therefore a claim succeeds with a cordless base.
• In serial mode, a claim succeeds even when no scanner is connected to the port. In this case, it indicates
the success of the port opening.
• Since the Zebra Scanner OPOS Driver supports multiple scanners, it implements the OPOS
retrieveStatistics method call with certain deviations.
• When claiming multiple scanners, scanner details appear sequentially with comma separation. The
order is the same for all scanner statistics.
• When there are multiple scanners, OPOS schema validation can fail because some date fields
contain comma-separated multiple dates.
• Non-RSM scanners, including serial scanners in Wincor-Nixdorf RS-232 Mode B, do not provide
Model Number and Serial number. These values appear as empty strings.
OPOS PROPERTIES, METHODS, EVENTS 3-3
Properties
Table 3-1 Common Properties
Comments on Zebra
Property Version Type Access May Use After Scanner Support
Comments on Zebra
Property Version Type Access May Use After
Scanner Support
Methods
Table 3-4 Common Methods
Events
Table 3-6 Events
Comments on Comments on
Event Version May Use After
Scale Support Scanner Support
StatusUpdateEvent 1.3 Open, Claim & Enable Not supported Not supported
CHAPTER 4 SCANNER OPOS SAMPLE
APPLICATION
Overview
The Zebra Scanner OPOS Driver suite ships with a sample application that demonstrates all the OPOS
operations on a connected Zebra scanner.
Button/ Field/
Check Box Description Values Code Sample
Button/ Field/
Description Values Code Sample
Check Box
Recorded Data
Data Event
Button/ Field/
Description Values Code Sample
Check Box
Auto Enable Check box to n/a Refer to OPOS Scanner Sample Application source code
automatically provided with the SDK installation.
enable the
scanner after a
decode scan.
Result Values
Direct IO
0 12345 67890 5
UPC-A
4-6 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
10. Select Data Events to view the scanned UPC-A bar code data. The bar code data that the driver
processed appears in the Scan Data Label and Scan Data Type boxes:
To get and set the OPOS properties of the Zebra Scanner OPOS Driver:
1. Scan the USB OPOS (Hand-held) bar code, SNAPI bar code or Wincor-Nixdorf RS-232 Mode B bar code
on page 2-2 to configure the scanner for the correct communication protocol.
4. Select Ok to use the Zebra Scanner Service Object that the SDK Installshield loaded on the PC.
5. Select Claim.
7. Select a configurable (setable) property in the Properties And Methods drop-down list. You can configure
some properties (e.g., AutoDisable, FreezeEvents); other properties are read only (e.g.,
ServiceObjectVersion, DataCount).
8. The current value of the OPOS driver appears in the edit box below the property selected in the list box.
The values 1 and 0 represent true and false, respectively.
9. To change the configurable property, change the value in the edit box and select Set Properties. This
updates the property with the new value.
4-8 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
3. Select (check) OPOS Scanner Control from the COM Components tab.
6. Add a variable (handle) for the scanner control added to the form/Dialog window.
8. SetDeviceEnabled to TRUE.
11. When done, SetDeviceEnabled to FALSE, Release() and Close() the service.
12. Call Device Disable property, release and close methods to close the connection.
Direct I/O
The OPOS driver does not support any direct I/O functions to the scanner. However, an application developer
can get management access to an RSM-ready scanner through the Zebra Scanner SDK. Refer to the Zebra
Scanner SDK for Windows Developer’s Guide (p/n 72E-149784-xx) for more information.
Statistics Methods
The Zebra OPOS Driver supports the retrieveStatistics, resetStatistics, and updateStatistics methods.
GoodScanCount is the only defined statistic in the Zebra OPOS Driver and can be used as a parameter for
these methods.
SCANNER OPOS SAMPLE APPLICATION 4-9
Enter * to include anything for the particular entry. For example, enter * for the serial number to claim scanners
with any serial number. Otherwise, the claim is successful only if the provided serial number and model
number matches the present scanner.
For the model number and serial number, provide the exact value, or part of the string and a star (*). Do not
enter a star (*) in the middle of a string; in this case, all data after star (*) is ignored. Provide a value and star as
a model number (e.g., LS4208*) to accept all scanners starting with that model number (LS4208). Provide a
star (*) for the serial number to accept all scanners regardless of serial number.
It is required to add the full name of each scanner type as a comma or space delimited list to enable the
scanners to be Claimed. As an example, to include SNAPI scanners and IBM hand-held mode scanners the
"Type" entry should be (USBIBMHID SNAPI). To include all scanner modes (Types) the value should be (ALL)
Since non-RSM scanners, including serial scanners in Wincor-Nixdorf RS-232 Mode B, do not provide the
model number and serial number, to claim these scanners set a " * " to both ModelNumber and SerialNumber
registry values.
4 - 10 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
CHAPTER 5 SCALE OPOS SAMPLE
APPLICATION
Overview
The Zebra Scale OPOS Driver suite ships with a sample application that demonstrates all the OPOS
operations on a connected Zebra scale.
Button/ Field/
Check Box Description Values Code Sample
Claim Claim the device with time -1, Any integer OposScale.ClaimDevice(1000)
out value. starting from zero
Button/ Field/
Description Values Code Sample
Check Box
Live Weight Reports the Live Weight Refer to OPOS Scanner Sample Application
value. source code provided with the SDK installation.
Set Property Set the value of property to n/a Refer to OPOS Scanner Sample Application
the given value. source code provided with the SDK installation.
1. Connect the MP6200 scanner/scale unit to a host PC with a USB, or serial cable.
2. Switch the scanner to a management-capable host mode by scanning one of the bar codes on page 2-2 to
configure the scanner for the correct communication protocol.
a. IBM Hand-held
b. IBM Table-top
or
c. SSI.
3. Under folder \Program Files\Zebra Technologies\Barcode Scanners\Scanner SDK\OPOS\Scale
OPOS\Sample Applications\bin, enter the sub-folder appropriate to the host architecture (x86 or x64) and
run OPOSScaleSampleApp.exe to launch the Scale OPOS sample application.
5. On the sample application screen, select Open to open the logical device named in the text box (which is
by default installed by the Scanner SDK Installshield).
6. Select Claim.
8. Select Read Weight. The weight of the item, and the measuring unit appear in the text box.
SCALE OPOS SAMPLE APPLICATION 5-5
1. Connect the MP6000 scanner/scale unit to a host PC with a USB or serial cable.
2. Switch the scanner to a management-capable host mode by scanning one of the bar codes on page 2-2 to
configure the scanner for the correct communication protocol.
a. IBM Hand-held
b. IBM Table-top
or
c. SSI.
3. Under folder \Program Files\Zebra Technologies\Barcode Scanners\Scanner SDK\OPOS\Scale
OPOS\Sample Applications\bin, enter the sub-folder appropriate to the host architecture (x86 or x64) and
run OPOSScaleSampleApp.exe to launch the Scale OPOS sample application. See Figure 5-2 on page
5-4.
5. On the sample application screen, select Open to open the logical device named in the text box (which is
by default installed by the Scanner SDK Installshield).
6. Select Claim.
8. Check DataEventEnable.
10. Select Read Weight. The weight of the item, and the measuring unit appear in the text box.
5-6 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
To get and set the OPOS properties of the Zebra OPOS Driver:
1. Scan the USB OPOS (Hand-held) bar code, SNAPI bar code or SSI bar code on page 2-2 to configure the
scanner for the correct communication protocol.
3. Select Open to use the Zebra OPOSScale Service Object that the SDK Installshield loaded on the PC.
4. Select Claim.
6. Select a configurable (setable) property in the Properties drop-down list. You can configure some
properties (e.g., AutoDisable, FreezeEvents); other properties are read only (e.g., ServiceObjectVersion,
DataCount).
7. The current value of the OPOS property appears in the edit box below the property selected in the list box.
The values 1 and 0 represent true and false, respectively.
8. To change the configurable property, change the value in the edit box and select Set Property. This
updates the property with the new value.
SCALE OPOS SAMPLE APPLICATION 5-7
3. Select (check) OPOS Scale Control from the COM Components tab.
6. Add a variable (handle) for the scanner control added to the form/Dialog window.
8. SetDeviceEnabled to TRUE.
9. Add button to call ReadWeight method, and add edit control to display the weight data.
10. When done, SetDeviceEnabled to FALSE, Release() and Close() the service.
Direct I/O
The OPOS driver does not support any direct I/O functions to the scale. However, an application developer can
get management access to an RSM-ready scanner through the Zebra Scanner SDK. Refer to the Zebra
Scanner SDK for Windows Developer’s Guide (p/n 72E-149784-xx) for more information.
Statistics Methods
The Zebra OPOS Scale Driver does not support the Statistics method. Statistics related to a scale could be
obtained through the RSM parameters of the MP6200. Refer to the Zebra Scanner SDK for Windows
Developer’s Guide (p/n 72E-149784-xx) and Zebra Scanner SDK Attribute Data Dictionary (p/n
72E-149786-xx) for further information.
5-8 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
Enter * to include anything for the particular entry. For example, enter * for the serial number to claim scanners
with any serial number. Otherwise, the claim is successful only if the provided serial number and model
number matches the present scanner.
For the model number and serial number, provide the exact value, or part of the string and a star (*). Do not
enter a star (*) in the middle of a string; in this case, all data after star (*) is ignored. Provide a value and star as
a model number (e.g., LS4208*) to accept all scanners starting with that model number (LS4208). Provide a
star (*) for the serial number to accept all scanners regardless of serial number.
It is required add the full name of the each scanner type as comma or space delimited list to get the scanners
Claimed. As an example to include SNAPI scanners and IBM Hand Held mode scanners the "Type" entry
should be (USBIBMHID SNAPI). To include all scanner modes (Types) the value should be (ALL)
Since non-RSM scanners, including serial scanners in Wincor-Nixdorf RS232 Mode B, do not provide the
model number and serial number, to claim these scanners set a " * " to both ModelNumber and SerialNumber
registry values.
CHAPTER 6 SUPPORTED SYMBOLOGY
TYPES VS. SCANNER MODE
Overview
This chapter provides a matrix of scanner modes and supported symbology types in each mode.
6-2 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
UPC-A SCAN_SDT_UPCA X X X
UPC-E SCAN_SDT_UPCE X X X
UPC-D1 SCAN_SDT_UPCD1 X X X
UPC-D2 SCAN_SDT_UPCD2 X X X
UPC-D3 SCAN_SDT_UPCD3 X X X
UPC-D4 SCAN_SDT_UPCD4 X X X
UPC-D5 SCAN_SDT_UPCD5 X X X
EAN-128 SCAN_SDT_EAN128 X X X
Interleaved 2 of 5 SCAN_SDT_ITF X X X
Codabar SCAN_SDT_Codabar X X X
Code 39 SCAN_SDT_Code39 X X X
MAXICODE SCAN_SDT_MAXICODE X X -
QR Code SCAN_SDT_QRCODE - X -
Aztec SCAN_SDT_AZTEC - X -
When the scanner is in Wincor-Nixdorf RS-232 Mode B, the Zebra OPOS return value for the ScanDataType
property differs from the expected value for the bar code types listed in Table 6-2.
Table 6-2 Bar Code Types Not Accurately Identified in Wincor-Nixdorf RS-232 Mode B
UPC-A with supplemental SCAN_SDT_UPCA_S SCAN_SDT_UPCA Nixdorf Mode B cannot distinguish UPCA
bar code since it identifies bar code types UPCA,
UPCA_S, EAN13, EAN13_S, and
BOOKLAND as one type.
UPC-E with supplemental SCAN_SDT_UPCE_S SCAN_SDT_UPCE Nixdorf Mode B identifies both bar code
bar code types UPCE and UPCE_S as UPCE.
EAN 8 with supplemental SCAN_SDT_EAN8_S SCAN_SDT_EAN8 Nixdorf Mode B identifies both EAN8 and
bar code EAN8_S bar code types as EAN8.
EAN 13 with supplemental SCAN_SDT_EAN13_S SCAN_SDT_UPCA Nixdorf Mode B cannot distinguish EAN
bar code 13_S since it identifies bar code types
UPCA, UPCA_S, EAN13, EAN13_S, and
BOOKLAND as one type.
6-4 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
APPENDIX A WINDOWS REGISTRY KEYS
FOR OPOS DRIVER
Overview
This appendix describes the Windows registry keys for the OPOS Scanner and Scale logical names and
drivers.
Key HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scanner\ZEBRA_SCANNER
Path HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scanner\MOTOROLA_SCANNER
(x64) HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scanner\STI_USBSCANNER
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scanner\SYMBOL_SCANNER
NOTE On 64-bit Windows, there are registry keys for 32-bit applications under the corresponding
Wow6432Node.
Table A-2 Registry Keys for OPOS Scanner Logical Names (Continued)
PID1 * (Represents all PIDs) Product IDs of Zebra bar code scanners.
TypePool SNAPI NIXMODB USBIBMHID All the supported types only for reference.
USBIBMTT SSI ALL OPOS driver does not read this entry.
Key HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scale\ZEBRAA_SCALE
Path HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Scale\MOTOROLA_SCALE
(x64)
NOTE On 64-bit Windows, there are registry keys for 32-bit applications under the corresponding
Wow6432Node.
NOTE On 64-bit Windows, there are registry keys for 32-bit applications under the corresponding
Wow6432Node.
A-4 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Table A-6 Registry Keys for Scanner OPOS Driver - Applies to all Scanner OPOS Logical Names
Table A-6 Registry Keys for Scanner OPOS Driver - Applies to all Scanner OPOS Logical Names (Continued)
NOTE On 64-bit Windows, there are registry keys for 32-bit applications under the corresponding
Wow6432Node.
A-6 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Table A-8 Registry Keys for Scale OPOS Driver - Applies to all Scale OPOS Logical Names
For more details on how to use the registry, see Modified Claim Functionality on page 5-8.
INDEX
A conventions
notational . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .viii
architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
AsyncMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
AutoDisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 D
DataCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
B DataEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
DataEventEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
BinaryConversion . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 DecodeData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
bold text use in guide . . . . . . . . . . . . . . . . . . . . . . . . . viii DeviceDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
bullets use in guide . . . . . . . . . . . . . . . . . . . . . . . . . . . viii DeviceEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
button/field functionality . . . . . . . . . . . . . . . . . . . 4-2, 5-2 DeviceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
DirectIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
C DirectIOEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
DisplayText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
CapCompareFrmwareVersion . . . . . . . . . . . . . . . . . 3-3 driver architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
CapDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
CapDisplayText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
CapPowerReporting . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 E
CapPriceCalculating . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 ErrorEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapStatisticsReporting . . . . . . . . . . . . . . . . . . . . . . . 3-3 events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapStatusUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 DataEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapTareWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 DirectIOEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapUpdateFirmware . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 ErrorEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapUpdateStatistics . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 StatusUpdateEvent . . . . . . . . . . . . . . . . . . . . . . . 3-6
CapZeroScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
CheckHealth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
CheckHealthText . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 F
ClaimDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 font use in guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . .viii
Claimed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 FreezeEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
ClearInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
ClearInputProperties . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 I
common properties . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 information, service . . . . . . . . . . . . . . . . . . . . . . . . . . .viii
compareFirmwareVersion . . . . . . . . . . . . . . . . . . . . . 3-5 italics use in guide . . . . . . . . . . . . . . . . . . . . . . . . . . . .viii
ControlObjectDescription . . . . . . . . . . . . . . . . . . . . . 3-3
ControlObjectVersion . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Index - 2 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
M DataEventEnabled . . . . . . . . . . . . . . . . . . . . 3-3
DeviceDescription . . . . . . . . . . . . . . . . . . . . . 3-4
MaxDisplayTextChars . . . . . . . . . . . . . . . . . . . . . . . . 3-4 DeviceEnabled . . . . . . . . . . . . . . . . . . . . . . . 3-3
MaximumWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 DeviceName . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
methods FreezeEvents . . . . . . . . . . . . . . . . . . . . . . . . 3-3
CheckHealth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 OpenResult . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
ClaimDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 PowerNotify . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
ClearInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 PowerState . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
ClearInputProperties . . . . . . . . . . . . . . . . . . . . . . 3-5 ResultCode . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 ResultCodeExtended . . . . . . . . . . . . . . . . . . 3-3
compareFirmwareVersion . . . . . . . . . . . . . . . . . . 3-5 ServiceObjectDescription . . . . . . . . . . . . . . . 3-3
DirectIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 ServiceObjectVersion . . . . . . . . . . . . . . . . . . 3-4
Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
ReleaseDevice . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 specific
resetStatistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 AsyncMode . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
retrieveStatistics . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 CapDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
scale specific CapDisplayText . . . . . . . . . . . . . . . . . . . . . . . 3-4
DisplayText . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 CapPriceCalculating . . . . . . . . . . . . . . . . . . . 3-4
ReadWeightReadWeight . . . . . . . . . . . . . . . 3-5 CapStatusUpdate . . . . . . . . . . . . . . . . . . . . . 3-4
ZeroScale . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 CapTareWeight . . . . . . . . . . . . . . . . . . . . . . . 3-4
updateFirmware . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 CapZeroScale . . . . . . . . . . . . . . . . . . . . . . . . 3-4
updateStatistics . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 DecodeData . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
methods, common . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 MaxDisplayTextChars . . . . . . . . . . . . . . . . . . 3-4
methods, scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 MaximumWeight . . . . . . . . . . . . . . . . . . . . . . 3-4
ScaleLiveWeight . . . . . . . . . . . . . . . . . . . . . . 3-4
N ScanData . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ScanDataLabel . . . . . . . . . . . . . . . . . . . . . . . 3-4
notational conventions . . . . . . . . . . . . . . . . . . . . . . . . . viii ScanDataType . . . . . . . . . . . . . . . . . . . . . . . . 3-4
StatusNotify . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
O TareWeight . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ZeroValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 specificWeighUntist . . . . . . . . . . . . . . . . . . . . . . . 3-4
OpenResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 properties, common . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
OPOS properties, scale specific . . . . . . . . . . . . . . . . . . . . . . 3-4
driver architecture . . . . . . . . . . . . . . . . . . . . . . . . 1-2 properties, scanner specific . . . . . . . . . . . . . . . . . . . . 3-4
P R
PowerNotify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 ReadWeightReadWeight . . . . . . . . . . . . . . . . . . . . . . 3-5
PowerState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 registry keys for scale OPOS driver . . . . . . . . . . . . . .A-6
properties registry keys for scanner OPOS driver . . . . . . . . . . . .A-4
common registry keys to for OPOS
AutoDisable . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 scale logical names . . . . . . . . . . . . . . . . . . . . . . .A-3
BinaryConversion . . . . . . . . . . . . . . . . . . . . . 3-3 registry keys to for OPOS
CapCompareFrmwareVersion . . . . . . . . . . . 3-3 scanner logical names . . . . . . . . . . . . . . . . . . . . .A-1
CapPowerReporting . . . . . . . . . . . . . . . . . . . 3-3 registry path for scale OPOS driver . . . . . . . . . . . . . .A-5
CapStatisticsReporting . . . . . . . . . . . . . . . . . 3-3 registry path for scanner OPOS driver . . . . . . . . . . . .A-3
CapUpdateFirmware . . . . . . . . . . . . . . . . . . 3-3 registry paths to default scale
CapUpdateStatistics . . . . . . . . . . . . . . . . . . . 3-3 OPOS logical names . . . . . . . . . . . . . . . . . . . . . .A-3
CheckHealthText . . . . . . . . . . . . . . . . . . . . . 3-3 registry paths to default scanner
Claimed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 OPOS logical names . . . . . . . . . . . . . . . . . . . . . .A-1
ControlObjectDescription . . . . . . . . . . . . . . . 3-3 ReleaseDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
ControlObjectVersion . . . . . . . . . . . . . . . . . . 3-3 resetStatistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
DataCount . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 ResultCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Index - 3
ResultCodeExtended . . . . . . . . . . . . . . . . . . . . . . . . 3-3
retrieveStatistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
S
sample application
scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
sample application button/field functionality . . . . . . . 5-2
scale OPOS sample application
button/field functionality . . . . . . . . . . . . . . . . . . . 5-2
ScaleLiveWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ScanData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ScanDataLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ScanDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
scanner mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
scanner OPOS test utility
button/field functionality . . . . . . . . . . . . . . . . . . . 4-2
service information . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
ServiceObjectDescription . . . . . . . . . . . . . . . . . . . . . 3-3
ServiceObjectVersion . . . . . . . . . . . . . . . . . . . . . . . . 3-4
specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
StatusNotify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
StatusUpdateEvent . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
supported feature set
common methods . . . . . . . . . . . . . . . . . . . . . . . . 3-5
common properties . . . . . . . . . . . . . . . . . . . . . . . 3-3
events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
scale methods . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
scale specific properties . . . . . . . . . . . . . . . . . . . 3-4
scanner specific properties . . . . . . . . . . . . . . . . . 3-4
symbology types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
symbology types vs. scanner modes . . . . . . . . . . . . 6-2
symbology values . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
T
TareWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
test utility button/field functionality . . . . . . . . . . . . . . 4-2
U
updateFirmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
updateStatistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
W
WeightUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Z
ZeroScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
ZeroValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Index - 4 ZEBRA SCANNER OPOS DRIVER DEVELOPER’S GUIDE
Zebra Technologies Corporation
Lincolnshire, IL U.S.A.
http://www.zebra.com
Zebra and the stylized Zebra head are trademarks of ZIH Corp., registered in many jurisdictions
worldwide. All other trademarks are the property of their respective owners.
© 2016 Symbol Technologies LLC, a subsidiary of Zebra Technologies Corporation. All rights reserved.