Zebra Scanner SDK for Windows Scanner SDK for Windows Developer’s Guide

ZEBRA SCANNER SDK FOR WINDOWS
DEVELOPER’S GUIDE
ZEBRA SCANNER SDK FOR WINDOWS
DEVELOPER’S GUIDE
72E-149784-07EN
Revision A
December 2020
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 photo copying, 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 n oted below, such licen se may not b e assigned, sublicensed, or otherwise tran sfe rr e d by th e 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 for m or portion of a licensed program with other pro gram material, create a derivative work from a licensed program , or us e a li censed 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 au thorized copies it m akes, 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 su bsystems contained in Zebra products.

Revision History

Changes to the original guide are listed below:
Change Date Description
-01 Rev A 6/2011 Initial release.
-02 Rev A 3/2012 Updates for 64-bit:
-03 Rev A 11/2013 Adds:
iii
- updated Table 2-2; converted code to text from graphics
- removed unsupported methods
- updated Table 2-2 (add cradle info for DS6878 & LS4278)
- added USB CDC support
- updated pgs. 4-13 & 4-14: DEVICE_BEEP_CONTROL & DEVICE_LED_ON changed to SET_ACTION; <arg-int> values changed to 2 & 43, respectively
- updated note and Step 6 on page 4-14; adde d 3 rows for TW AIN to the bo ttom of Table 2-3 on page 2-11.
->Scale information.
->Intelligent Document Ca pture (IDC) information.
->USB IBM Table-top; SSI
Updates:
->Installation package name changes
->New Configuration section (pg. 2-13).
-04 Rev A 4/2015 Zebra software branding.
-05 Rev A 3/2016 Zebra software rebranding.
-06 Rev A 3/2017 - Removed /r ep la ce d re fe re nc es to the Attribute Data Dictionary
- Updated supported operating systems table
- Updated List of Methods table
- Added Action Attributes table
- Removed CONFIGURE_DADF and RESET_DADF commands
-07EN Rev A 12/2020 Software updates.

TABLE OF CONTENTS

Revision History.............................................................................................................................. iii
About This Guide
Introduction..................................................................................................................................... ix
Chapter Descriptions ...................................................................................................................... ix
Notational Conventions................................................................................................................... x
Service Information......................................................................................................................... x
Chapter 1: INTRODUCTION TO THE SCANNER SDK
Overview ........................................................................................................................................ 1-1
Quick Startup ................................................................................................................................. 1-3
FAQs .............................................................................................................................................. 1-4
Scanner SDK Architecture ............................................................................................................. 1-5
Multiple Scanner Device Identification Methodology For Applications ........................................... 1-7
How Multiple Applications Access Multiple Scanners From Scanner SDK .................................... 1-7
Three Applications Connected To One Scanner ..................................................................... 1-7
Implementation Details ....................................................................................................... 1-7
Three Applications Connected To Two Scanners .................................................................... 1-8
Implementation Details ....................................................................................................... 1-8
Many-to-Many Application Device Usage ................................................................................ 1-8
Implementation Details ....................................................................................................... 1-8
One Application Connected to Two Scanners ......................................................................... 1-9
Implementation Details ....................................................................................................... 1-9
Chapter 2: INSTALLATION & CONFIGURATION
Overview ........................................................................................................................................ 2-1
SDK Components .......................................................................................................................... 2-2
System Requirements .................................................................................................................... 2-2
Supported Operating Systems ................................................................................................. 2-2
Scanner Models Versus Communication Modes ........................................................................... 2-3
Installing the SDK .......................................................................................................................... 2-3
vi ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Step-by-Step Installation Instructions ...................................................................................... 2-3
Installed Components .................................................................................................................... 2-8
Configuration ................................................................................................................................. 2-10
Serial Mode Settings ................................................................................................................ 2-10
Sample <SERIAL_MODE_SETTINGS> Definition in Config.xml ...................................... 2-10
Simulated HID Keyboard Output .............................................................................................. 2-11
Sample <HID_KB_PUMP_SETTINGS> definition in config.xml: ....................................... 2-11
Notes .................................................................................................................................. 2-12
Simple Data Formatting (SDF) ................................................................................................. 2-12
Sample <SDF> definition in config.xml: ............................................................................. 2-12
Basic Installation Verification ......................................................................................................... 2-14
Silent Unattended Installation of the Scanner SDK ....................................................................... 2-15
Chapter 3: SCANNER SDK API
Overview ........................................................................................................................................ 3-1
Scanner ID ..................................................................................................................................... 3-2
API Commands .............................................................................................................................. 3-3
Open ........................................................................................................................................ 3-3
GetScanners ............................................................................................................................ 3-4
ExecCommand ........................................................................................................................ 3-5
ExecCommandAsync ............................................................................................................... 3-6
Close ........................................................................................................................................ 3-6
API Events ..................................................................................................................................... 3-7
ImageEvent .............................................................................................................................. 3-7
VideoEvent ............................................................................................................................... 3-8
BarcodeEvent .......................................................................................................................... 3-8
PNPEvent ................................................................................................................................ 3-12
ScanRMDEvent ....................................................................................................................... 3-14
CommandResponseEvent ....................................................................................................... 3-14
IOEvent .................................................................................................................................... 3-15
ScannerNotificationEvent ......................................................................................................... 3-15
BinaryDataEvent ...................................................................................................................... 3-16
Methods Invoked Through ExecCommand Or ExecCommandAsync ........................................... 3-17
Examples: Using the Methods ................................................................................................. 3-19
GET_VERSION ................................................................................................................. 3-19
REGISTER_FOR_EVENTS ............................................................................................... 3-20
UNREGISTER_FOR_EVENTS ......................................................................................... 3-20
CLAIM_DEVICE ................................................................................................................. 3-21
RELEASE_DEVICE ........................................................................................................... 3-21
ABORT_MACROPDF ........................................................................................................ 3-21
ABORT_UPDATE_FIRMWARE ........................................................................................ 3-22
AIM_OFF ........................................................................................................................... 3-22
AIM_ON ............................................................................................................................. 3-22
FLUSH_MACROPDF ......................................................................................................... 3-23
DEVICE_PULL_TRIGGER ................................................................................................ 3-23
DEVICE_RELEASE_TRIGGER ......................................................................................... 3-23
SCAN_DISABLE ................................................................................................................ 3-24
SCAN_ENABLE ................................................................................................................. 3-24
SET_PARAMETER_DEFAULTS ....................................................................................... 3-24
DEVICE_SET_PARAMETERS .......................................................................................... 3-25
Table of Contents vii
SET_PARAMETER_PERSISTANCE ................................................................................ 3-25
REBOOT_SCANNER ........................................................................................................ 3-26
DEVICE_CAPTURE_IMAGE ............................................................................................. 3-26
DEVICE_CAPTURE_BARCODE ....................................................................................... 3-26
DEVICE_CAPTURE_VIDEO ............................................................................................. 3-27
ATTR_GETALL .................................................................................................................. 3-27
ATTR_GET ........................................................................................................................ 3-29
ATTR_GETNEXT ............................................................................................................... 3-30
ATTR_SET ......................................................................................................................... 3-31
ATTR_STORE ................................................................................................................... 3-31
GET_DEVICE_TOPOLOGY .............................................................................................. 3-32
START_NEW_FIRMWARE ............................................................................................... 3-32
UPDATE_FIRMWARE ....................................................................................................... 3-33
UPDATE_FIRMWARE_FROM_PLUGIN ........................................................................... 3-33
UPDATE_DECODE_TONE ............................................................................................... 3-34
ERASE_DECODE_TONE .................................................................................................. 3-34
SET_ACTION ..................................................................................................................... 3-34
DEVICE_SET_SERIAL_PORT_SETTINGS ...................................................................... 3-36
DEVICE_SWITCH_HOST_MODE ..................................................................................... 3-37
KEYBOARD_EMULATOR_ENABLE ................................................................................. 3-38
KEYBOARD_EMULATOR_SET_LOCALE ........................................................................ 3-38
KEYBOARD_EMULATOR_GET_CONFIG ........................................................................ 3-39
SCALE_READ_WEIGHT ................................................................................................... 3-40
SCALE_ZERO_SCALE ...................................................................................................... 3-41
SCALE_SYSTEM_RESET ................................................................................................. 3-41
Error/Status Codes .................................................................................................................. 3-42
Chapter 4: TEST UTILITIES & SOURCE CODE
Overview ........................................................................................................................................ 4-1
Test Utilities Provided in the SDK .................................................................................................. 4-2
Scanner SDK C++ Sample Application .................................................................................... 4-3
Scanner SDK C#.Net Sample Application ............................................................................... 4-4
How to Verify Scanner SDK Functionality ...................................................................................... 4-7
Scanner Discovery/Asset Tracking Information/Validating Successful SDK Installation ......... 4-7
Barcode Scanning .................................................................................................................... 4-10
Example ............................................................................................................................. 4-10
Language/Locale Details .................................................................................................... 4-11
Capture Image and Video ........................................................................................................ 4-11
Beep the Beeper ...................................................................................................................... 4-15
Flash the LED .......................................................................................................................... 4-16
Querying Attributes and Parameters ........................................................................................ 4-17
Parameter Setting (Device Configuration) ............................................................................... 4-21
Examples ........................................................................................................................... 4-22
Host Variant Switching ............................................................................................................. 4-25
Firmware Upgrade ................................................................................................................... 4-27
Firmware Upgrade Scenarios ............................................................................................ 4-27
Firmware Upgrade Procedure ............................................................................................ 4-27
viii ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Chapter 5: SAMPLE SOURCE CODE
Overview ........................................................................................................................................ 5-1
Sample Utilities Provided in the SDK ............................................................................................. 5-1
Creation of COM Object And Registration for Events .............................................................. 5-1
Register for COM Events ......................................................................................................... 5-2
Calling Open Command ..................................................................................................... 5-2
Calling Close Command .................................................................................................... 5-2
Calling GetScanners Command .............................................................................................. 5-3
Calling ExecCommand Command and ExecCommandAsync Command ............................... 5-3
Appendix A: WRITE SIMPLE APPLICATIONS USING THE SCANNER SDK API
Overview ........................................................................................................................................ A-1
Import CoreScanner Reference, Class Declaration and Instantiation ........................................... A-2
Call Open API ................................................................................................................................ A-5
Call GetScanners API .................................................................................................................... A-6
Calling ExecCommand API to Demonstrate Beep the Beeper ...................................................... A-8
Retrieve Asset Tracking Information from ExecCommand with the RSM_GET Method ............... A-10
Enable the UPC-A Attribute by Calling SET_ATTRIBUTE via ExecCommand ............................. A-12
Capture Barcode Data into an Application ..................................................................................... A-13
Appendix B: SCANNER SDK VISUAL STUDIO PROJECT TEMPLATE
Overview ........................................................................................................................................ B-1
Environment ................................................................................................................................... B-1
Installing the Project Template ...................................................................................................... B-1
Using the Project Template ........................................................................................................... B-3
Appendix C: DESCRIPTION OF INTELLIGENT DOCUMENT CAPTURE FORMAT
Overview ........................................................................................................................................ C-1
Example ................................................................................................................................... C-2
Appendix D: CORESCANNER DEBUG LOGGING
Overview ........................................................................................................................................ D-1
Microsoft DebugView ..................................................................................................................... D-2
Index
Quick Startup

ABOUT THIS GUIDE

Introduction

This guide provides information about the Ze bra Scan ne r Softwa re D evelo pe r Kit (SDK) - an archit ectural framework providing a single programm in g in te r fac e ac ro ss mu ltip le pr og r am m ing lang u ag e s and acr os s mu ltiple system environments for all scanners communication variants (such as IBMHID, SNAPI, SSI, HIDKB, Nixdorf Mode B, etc.).

Chapter Descriptions

Topics covered in this guide are as follows:
Chapter 1, INTRODUCTION TO THE SCANNER SDK provides an overview of the Zebra Scanner Software
Developer Kit (SDK).
Chapter 2, INSTALLATION & CONFIGURATION describes how to install Zebra Scanner SDK and its
components on recommended platforms.
Chapter 3, SCANNER SDK API provides the set of APIs to interface with scanner devices.
Chapter 4, TEST UTILITIES & SOURCE CODE provides information about testing and evaluation of the
Zebra Scanner SDK's software components using the test utilities provided in the SDK.
Chapter 5, SAMPLE SOURCE CODE provides information about how a developer uses the Zebra Scanner
SDK.
Appendix A, WRITE SIMPLE APPLICATIONS USING THE SCANNER SDK API provides a step by step
guide to writing simple applications using CoreScanner APIs.
Appendix B, SCANNER SDK VISUAL STUDIO PROJECT TEMPLATE provides information about using the
SDK project template.
Appendix C, DESCRIPTION OF INTELLIGENT DOCUMENT CAPTURE FORMAT provides Intelligent
Document Capture output information.
Appendix D, CORESCANNER DEBUG LOGGING provides information about enabling debug logging.
x ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE

Notational Conventions

The following conventions are used in this document:
Courier New font is used for code segments.
Italics are used to highlight:
Chapters and sections in this and related documents
Dialog box, window and screen names
Drop-down list and list box names
Screen field names
Check box and radio button names
File names
Directory names.
Bold text is used to highlight:
Parameter and option names
Icons on a screen
Key names on a keypad
Button names on a screen.
bullets (•) indicate:
Action items
Lists of alternatives
Lists of required steps that are not necessarily seq ue nt ial
Sequential lists (e.g., those that describe step-by-step procedures) appear as numbered lists.
Notes, caution and warning statements appear as follows:
NOTE This symbol indicates something of special interest or importance to the reader. Failure to read the note
does not result in physical harm to the reader, equipment or data.
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

Service Information

injury may occur.
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 Technologies Global Customer Support Center at:
www.zebra.com/support
.
CHAPTER 1 INTRODUCTION TO THE
SCANNER SDK

Overview

The Zebra Scanner Software Developer Kit (SDK) defines an architectural framework providing a single programming interface across multiple programming languages (such as MS .NET, C++, Java) and across multiple system environments (such as Vista, Linux) for all scanners communication variants (such as IBMHID, SNAPI, HIDKB, Nixdorf Mode B, etc.).
The Zebra Scanner SDK includes a suite of components that provides a unified software development framework with a wide range of functions for interfacing Zebra scanners to user applications and solutions.
With this SDK you can read barcodes, manage scanner configurations, cap ture images/vide os and selectively choose a list of scanners on which to work. While one application is in one programming language using a scanner or a set of scanners, another application in a different language can be used differently within the same system environment.
For a list of the most commonly requested topics within this guide, see Quick Startup in the back of the guide.
Figure 1-1
The SDK can build an application with complete control of its scanner's capabilities.
Software Developer Framework
Data, Barcode
Simulation HID Keyboard output
OPOS/JPOS output
SNAPI output
1 - 2 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Command and Control
LED and Beeper Control
Aim Control
Imaging
Capture/Transfer of images
Capture/Transfer of Video
Remote Scanner Management
Asset Tracking
Device Configuration (Get, Set and Store scanner attributes)
Firmware Upgrade
Scanner Communication Protocol Switching
Service to Automate Configuration/Firmware Upgrade Process.
NOTE For a list of a scanner's supported attribute (parame ter) numbers and definitions, refer to the Product
Reference Guide for that model scanner, available from the Zebra Support website at
http://www.zebra.com/support. Attributes include configuration parameters, monitored data, and asset
tracking information.

Quick Startup

Overview ......................................................................................................................................................1-1
Operating systems/System requirements ..............................................................................................2-2
Scanner model vs. Communication modes.....................................................................................1-6, 2-3
Block diagram of system........................................................................................................................1-5
SDK Components & Installation details.............................................................................................2-1, 2-3
Components and folder paths......................................................................................................... 2-2, 2-8
Validate SDK installed properly.....................................................................................................2-14, 4-7
OPOS/JPOS Drivers................................................................................................................2-1, 2-2, 2-6
WMI/Remote Scanner Management.................................................................................2-2, 2-3, 2-6, 2-8
T est and sample utilities.............................................................................................................................4-2
Table of buttons and input fie lds.............................................................................................................4-4
List of utility functionality ........................................................................................................................4-2
Bar code Data Display ................................ ... .................................... ...............A-13, A-12, 4-10, 4-10
Discovery.........................................................................................................................................4-8
Querying asset information..................................................................................A-10, 4-8, 4-17, 4-19
Query and Set Parameters/Attributes
Capturing an image....................................................................................................................... 4-11
Capturing a video.......................................................................................................................... 4-11
Firmware Upgrade ...............................................................................................................4-27, 4-28
Host Variant Switching.........................................................................................................4-26, 4-25
C++ sample application and source code................................................................................2-8, 4-3, 5-1
C# sample application and source code ..................................................................................2-9, 4-4, 5-1
Starter application using CoreScanner API............................................................................................A-1
INTRODUCTION TO THE SCANNER SDK 1 - 3
One application connected to two scanners............................................................................1-9
Simulated HID Keyboard Output ....................................................................1-6, 2-11, 4-4, 4-11
Query values........................................... ................................. ... ... ......................4-17, 4-19, 4-19
Set Value (Device Configuration)..................................................................................3-17, 4-21
Programming an ADF rule.........................................................................................4-19, 4-23
LED control ................................ .................................. ... .................................4-16, 4-16, 4-24
Beeper control..........................................................................................A-8, 4-15, 4-15, 4-24
Enable/disable a symbology .....................................................................................A-12, 4-22
API overview................................................................................................................................................3-1
Create com object..............................................................................................................
Register for event............................................................................................................................5-2, 4-8
Open ....................................................................................................................................... A-5, 3-3, 5-2
Get scanner......................................................................................................................A-6, 3-4, 4-8, 5-3
Execute command .............................................................. ... ................................. .......A-8, 4-17, 3-5, 5-3
List of Methods.....................................................................................................................................3-17
Execute command asynchronously................................................................................................3-6, 5-3
Close...............................................................................................................................................3-6, 5-2
....................5-1
1 - 4 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE

FAQs

Can multiple scanners be connected to the CoreScanner Driver?
Yes, multiple scanners can be connected simultaneously to one host running the CoreScanner driver.
If two scanners are connected, can data be tracked by scanner ID?
Yes, if scanner X decodes a barcode 123, it returns to the application a data event consisting of 123 as the data label and the serial number as the scanner ID.
Can multiple applications be connected to the CoreScanner Driver?
Yes, multiple applications can be connected simultaneously on one host running the CoreScanner driver. An application can register from a selection of event types (such as barcode, image, video or management). The application receives the event information plus the originating scanner ID.
Are the CoreScanner calls common across operating systems?
Yes. For example, the Open method's function signatures for C++ and Java are the same except for the platform specific data and return types (highlighted in yellow below).
Figure 1-2
Function Signatures for C++ and Java

Scanner SDK Architecture

Zebra Scanner SDK
INTRODUCTION TO THE SCANNER SDK 1 - 5
Figure 1-3
You can configure Zebra scanner devices to be operated in different host communication modes such as USB SNAPI, USB OPOS, USB HID Keyboard, USB IBM Table-top, SSI, and RS232 Nixdorf Mode B. Device feature support varies depending on communication mode but all modes support barcode scanning. Refer to the Product Reference Guide of a specific scanner for the barcodes to set its supported host communication modes.
Using the Zebra Scanner SDK, you can switch between supported host communication modes by calling the host variant switching command programmatically. This is useful when the device is in a less feature supportive mode and some advanced functionality is required but no t supported by the cu rrent communica tion mode. The scanner can be switched to a featur e rich mode and commands executed before switching the scanner back to the previous mode.
For example, you want to disable the UPC-A symbology but the device is in USB HID Keyboard mode. If the mode is supported by the scanner, you may switch to USB SNAPI or USB OPOS, set UPC-A to be disabled permanently and then switch the scanner back to USB HID Keyboard mode. See Table 1-1 on page 1-6 for more information.
SDK Architecture
1 - 6 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
Table 1-1 illustrates scanner capabilities supported by each communication mode. Refer to the specifications
of a device for its ability to support of each communication mode.
Table 1-1
Data Supported Supported Supported Supported Supported Supported Host Variant Switching Supported Supported Supported Supported Not Available Not Available Management Supported Supported Not Available Supported Not Available Supported Image & Video Supported Not Available Not Available Not Available Not Available Supported
Simulated HID Keyboard Output
*Advanced Data Formatting (ADF) is not supported when using Simulated HID Keyboard Output.
Scanner Device Communication Modes Vs. Capabilities
Capabilities
*
Simulated HID Keyboard Output is a feature enabling scanners in USB SNAPI, USB IBM Table-top, USB OPOS, or SSI mode to emulate HID Keyboard keystrokes to a host system for scanned data labels. It sends the content of the scanned data label as HID Keyboard keystrokes thus emulating USB HID Keyboard scanner mode.
USB
SNAPI
Supported Supported Not Applicable Supported Supported * Supported
USB OPOS
USB HID
Keyboard
USB IBM
Table-top
RS232
Nixdorf B
SSI
(Image Only)
INTRODUCTION TO THE SCANNER SDK 1 - 7

Multiple Scanner Device Identification Methodology For Applications

The Zebra Scanner SDK supports multiple scanner devices to any application that runs on top of CoreSca nner APIs. Each scanner device is shown to the user application by a unique scanner identification number. The scanner ID is a numeric value assigned to e ach connected device so there cannot be multiple scanner devices holding the same scanner ID.
Asset tracking information like model number , serial nu mber, current firmware version and date of manufacture are available if the scanner and its current host mode support the management feature.
For example, in some modes like USB HID Keyboard, you do not see asset tracking information but the same scanner device shows you such information when it is in USB OPOS or USB SNAPI mode.
The format of device asset tracking informatio n can follo w different na m ing con ve nt ion s for dev ice mod e l, serial number or current firmware version. For example, the length of a serial nu mber for DS67 07 and DS98 08 scanners can be different.

How Multiple Applications Access Multiple Scanners From Scanner SDK

The Zebra Scanner SDK supports multiple applications accessing multiple scanner devices connected to the host at the same time.
As described previously, a scanner ID uniquely identifies a connected scanner device to all applications. A scanner ID is consistent among all applications for one SDK instance. If the CoreScanner service or the host machine is restarted, a device may be assigned a different scanner ID but it is unique and referenced by all applications.

Three Applications Connected To One Scanner

Figure 1-4 illustrates how multiple applications communicate with multiple scanner devices.
Figure 1-4
Three Applications Connected to One Scanner
Implementation Details
Three applications are connected to one scanner.
App 1 & App 2 support bi-directional (two way) communication with the scanner.
Legacy App 3 supported by driver converting SNAPI data into HID format.
1 - 8 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE

Three Applications Connected To Two Scanners

Figure 1-4 illustrates how multiple applications communicate with multiple scanner devices.
Figure 1-5
Three Applications Connected To Two Scanners
Implementation Details
Three applications are connected to two scanners.
App 1 and App 2 support bi-directional (two way) communication with the DS6878.
Legacy App 3 receives HID keyboard emulation data from the LS2208.

Many-to-Many Application Device Usage

Figure 1-6
Many-to-Many Application Device Usage
Implementation Details
App 1 performs image capture with the DS6878.
App 2 can remotely manage both the DS6878 and LS4208.
App 3 receives OPOS data from both the DS6878 and LS4208.

One Application Connected to Two Scanners

INTRODUCTION TO THE SCANNER SDK 1 - 9
Figure 1-7
One Application Connected to Two Scanners
Implementation Details
One application can manage multiple scanners in multiple communication interfaces.
The application can capture data, image and video, send management commands and receive responses from multiple scanners.
All responses from the scanners consist of the scanner device details (ScannerID, seria l number, model number, etc.) identifying the device that sent the response.
For example, a barcode event for a scanned label is shown below. The scanned data label arrives with a unique ScannerID and the scanner's model number and the serial number.
<?xml version="1.0" encoding="UTF-8"?> <outArgs> <scannerID>1</scannerID> <arg-xml> <scandata> <modelnumber>DS6707-SR20001ZZR </modelnumber> <serialnumber>7114000503308 </serialnumber> <GUID>9008A01BB72BA34BB519806B63701AAA</GUID> <datatype>11 </datatype> <datalabel>0x39 0x37 0x38 0x30 0x32 0x30 0x31 0x34</datalabel> <rawdata>0x39 0x37 0x38 0x30 0x32 0x30 0x31 0x34</rawdata> </scandata> </arg-xml> </outArgs>
1 - 10 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
CHAPTER 2 INSTALLATION &
CONFIGURATION

Overview

This chapter describes how to install Zebra Scanner SDK and its components on recommended platforms.
NOTE See System Requirements on page 2-2 for supported platforms.
The SDK installation package includes support for:
Installing required components to enable any Zebra scanner to communicate with applications or tools that execute on top of the Zebra Scanner SDK.
Supporting documents.
Test utilities.
Sample applications and source projects.
This section covers installation and configuration instructions.
NOTE Uninstall any previous Zebra, Symbol or 3rd party drivers or SDKs installed on your system which
communicate with Zebra Scanner Devices before installing the Zebra Scanner SDK. This includes but is not limited to Zebra and Symbol supplied OPOS, JPOS and SNAPI drivers.
For a list of the most commonly requested topics within this guide, see Quick Startup in the back of the guide.
NOTE For a list of a scanner's supported attribute (para me ter) numbers and definitions, refer to the Product
Reference Guide for that model scanner, available from the Zebra Support website at
http://www.zebra.com/support. Attributes include configuration parameters, monitored data, and asset
tracking information.
2 - 2 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE

SDK Components

The SDK installation package includes following components.
Zebra Scanner SDK Core components and drivers (COM API, Imaging drivers)
OPOS Drivers
Scanner OPOS
Scale OPOS
JPOS Driers
Scanner JPOS
Scale JPOS
Remote Management Components
Scanner WMI Provider
Driver WMI Provider
Web Link to latest Developer's Guide - Document(s)
Test & Sample utilities with Source code packages
Scanner SDK Sample Application (C++)
Scanner SDK Sample Application (Microsoft® C# .NET)
Scanner OPOS Test Utility
Scale OPOS Test Utility
JPOS Test Utility for Scanner and Scale
Scanner WMI Provider Test Utility (Microsoft® C# .NET)
Driver WMI Provider Test Utility (Microsoft® C# .NET).
The SDK installation package installs its components to the following default location: C:\Program Files\Zebra Technologies\Barcode Scanners\.

System Requirements

Supported Operating Systems

Table 2-1
Zebra Scanner SDK Installation Package
Supported Operating Systems
Microsoft® Windows 7, Windows 8, and Windows 10 (32bit) Microsoft® Windows 7, Windows 8, and Windows 10 (64bit)
Recommended minimum hardware requirement: x86 PC for 32 -bit SDK, o r x6 4 PC for 64 -b it SDK with 512Mb RAM.
Zebra_Scanner_SDK_(32bit)_v3.xx.xxxx.exe Zebra_Scanner_SDK_(64bit)_v3.xx.xxxx.exe

Scanner Models Versus Communication Modes

For an up-to-date table listing scanner models and their suppo rted communication mod es refer to the Scanne r SDK for Windows website at: www.zebra.com/scannersdkforwindows

Installing the SDK

Download the relevant Scanner SDK setup program for the 32-bit or 64-bit operating system on your PC from
http://www.zebra.com/scannersdkforwindows.
There are two options for installing the Zebra Scanner SDK on a system.
Typical installation - Loads all components in the installation package.
Custom installation - Provides the ability to change the default selection of components.
If you install components such as OPOS, JPOS or WMI provider (remote management), the installer automatically installs sample programs and test utilities related to those components.
To download the appropriate OPOS, JPOS and WMI Developer’s Guides go to:
INSTALLATION & CONFIGURATION 2 - 3
.
http://www.zebra.com/scannersdkforwindows
.

Step-by-Step Installation Instructions

1. Execute the setup program. The installation process checks for CoreScanner drivers on the target
machine. If the driver package is not present or outdated, clicking Install adds updated drivers before installing the scanner SDK package.
Figure 2-1
Prerequisite Check And Install
2 - 4 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
2. Installation continues once the prerequisite drivers are installed on the machine.
Figure 2-2
3. Click Next on the Welcome screen.
Initial Window
Figure 2-3
Welcome Screen
4. Review the license agreement and click Yes to accept.
INSTALLATION & CONFIGURATION 2 - 5
Figure 2-4
5. Select the Setup Type.
License Agreement
The user is prompted with two installation options:
Complete - The installation package installs all components.
Custom - The installation package gives the option to select which compone nts are loaded during th e
installation process. The user is prompted to select components from the available list.
2 - 6 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE
The user can select the destination folder by clicking Browse and selecting the drive and fo lder in which to install the Zebra Scanner SDK. However, common components are placed in designated locations for consistency with other SDK users.
Figure 2-5
6. Select features. The user is prompted to select features to be installed from the available components list.
Setup Type
Figure 2-6
NOTE Scanner SDK and USB imaging drivers are common components and are installed automatically.
Select Features
7. Wait for the installation to complete.
INSTALLATION & CONFIGURATION 2 - 7
Figure 2-7
8. Installation complete.
Figure 2-8
Installation Progress
Installation Complete
2 - 8 ZEBRA SCANNER SDK FOR WINDOWS DEVELOPER’S GUIDE

Installed Components

There are three Windows services installed with the CoreScanner driver in a default installation:
CoreScanner - coordinates activity between the communication layer (SNAPI, IBMHH, SSI, etc.) and upper level drivers (OPOS, JPOS, SDK API, etc.).
RSM Driver Provider - provides WMI support.
Symbol Scanner Management - provides WMI support.
Table 2-2 lists the components installed.
Table 2-2
Component File Description Installation Path
Scanner Driver CoreScanner.exe Scanner Driver/COM
Scanner Driver SNAPITrans.dll Transport Component .\Common Scanner Driver USBHIDKBTrans.dll Transport Component .\Common Scanner Driver NIXBTrans.dll Transport Component .\Common Scanner Driver IBMHIDTrans.dll Transport Component .\Common Scanner Driver SSITrans.dll Transport Component .\Common Scanner Driver IBMHIDTTTrans.dll Transport Comonent .\Common WMI Providers ScannerService.exe WMI Provider Services .\Common WMI Providers symbscnr.dll WMI Instance Providers .\Common WMI Providers ScannerWMITest.sln Scanner WMI Sample
WMI Providers RSMDriverProviderService.exe WMI Provider Services .\Common
Zebra Scanner SDK Components
Server
Application
.\Common
\Scanner SDK\wmiprovider_scanner\Sample Applications\src
WMI Providers RSMDriverProvider.dll WMI Instance Providers .\Common WMI Providers symbscnr.mof Managed Object Format
file for WMI and CIM
WMI Providers RSMDriverProvider.mof Managed Object Format
file for WMI and CIM
WMI Providers DriverWMITest.sln Driver WMI Sample
Application
Configuration config.xml Scanner Driver
Configuration File Scanner Driver HIDKeyboardEmulator.exe HID Keyboard Emulator .\ Common\ SDK C++
Sample App source code
SampleApp_CPP.sln SDK C++ Sample
Application and source
projects
.\Common
.\Common
\Scanner SDK\wmiprovider_driver\Sample Applications\src
.\Common
.\ Scanner SDK\ Scanner SDK\Sample Applications\src
Loading...
+ 120 hidden pages