Extensions for Financial Services (XFS) interface specification Release 3.50 - Part 17: Barcode Reader Device Class Interface - Programmer's Reference

This specification describes the functionality of a Barcode Reader (BCR) Service Provider. It defines the service-specific commands that can be issued to the Service Provider using the WFSGetInfo, WFSAsyncGetInfo, WFSExecute and WFSAsyncExecute functions.
Persistent values are maintained through power failures, open sessions, close session and system resets.
This extension to XFS specifications defines the functionality of BCR service.
A Barcode Reader scans barcodes using any scanning technology. The device logic converts light signals or image recognition into application data and transmits it to the host system.
The basic operation of the Barcode Reader is managed using WFSExecute/WFSAsyncExecute functions.
When an application wants to read a barcode, it issues a WFS_CMD_BCR_READ command to prepare the scanner to read any barcode presented to it. When a document is presented to the BCR and a barcode type is recognized, a completion event is received which contains the barcode data that has been read.

Specifikacija vmesnika razširitev za finančne storitve (XFS), izdaja 3.50 - 17. del: Vmesnik razreda naprave za branje črtne kode - Referenca za programerje

Ta specifikacija opisuje funkcionalnost ponudnika storitve za branje črtne kode. Določa ukaze, značilne za določeno storitev, ki jih je mogoče izdati ponudniku storitve s funkcijami WFSGetInfo, WFSAsyncGetInfo, WFSExecute in WFSAsyncExecute.
Stalne vrednosti se vzdržujejo z izpadi električne energije, odprtimi in zaprtimi sejami ter ponastavitvami sistema
Ta razširitev specifikacij razširitev za finančne storitve (XFS) določa funkcionalnost storitve za branje črtne kode.
Naprava za branje črtne kode skenira črtno kodo z uporabo tehnologije za skeniranje. Logika naprave pretvori svetlobne signale ali prepoznavanje slik v aplikacijske podatke in jih prenese v gostiteljski sistem.
Osnovno delovanje naprave za branje črtne kode se upravlja s funkcijami WFSExecute/WFSAsyncExecute.
Ko želi aplikacija prebrati črtno kodo, izda ukaz WFS_CMD_BCR_READ, s čimer je bralnik pripravljen na branje katere koli črtne kode, ki mu je predložena. Ko je napravi za branje črtne kode predložen dokument in le-ta prepozna tip črtne kode, je prejet dogodek o dokončanju, ki vsebuje podatke o prebrani črtni kodi.

General Information

Status
Published
Publication Date
22-Jan-2023
Technical Committee
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
04-Jan-2023
Due Date
11-Mar-2023
Completion Date
23-Jan-2023

Buy Standard

Standardization document
CWA 16926-17:2023
English language
29 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)

SLOVENSKI STANDARD
SIST CWA 16926-17:2023
01-marec-2023

Specifikacija vmesnika razširitev za finančne storitve (XFS), izdaja 3.50 - 17. del:

Vmesnik razreda naprave za branje črtne kode - Referenca za programerje

Extensions for Financial Services (XFS) interface specification Release 3.50 - Part 17:

Barcode Reader Device Class Interface - Programmer's Reference
Ta slovenski standard je istoveten z: CWA 16926-17:2022
ICS:
35.200 Vmesniška in povezovalna Interface and interconnection
oprema equipment
35.240.15 Identifikacijske kartice. Čipne Identification cards. Chip
kartice. Biometrija cards. Biometrics
35.240.40 Uporabniške rešitve IT v IT applications in banking
bančništvu
SIST CWA 16926-17:2023 en,fr,de

2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

---------------------- Page: 1 ----------------------
SIST CWA 16926-17:2023
---------------------- Page: 2 ----------------------
SIST CWA 16926-17:2023
CEN
CWA 16926-17
WORKSHOP
December 2022
AGREEMENT
ICS 35.200; 35.240.15; 35.240.40
English version
Extensions for Financial Services (XFS) interface
specification Release 3.50 - Part 17: Barcode Reader
Device Class Interface - Programmer's Reference

This CEN Workshop Agreement has been drafted and approved by a Workshop of representatives of interested parties, the

constitution of which is indicated in the foreword of this Workshop Agreement.

The formal process followed by the Workshop in the development of this Workshop Agreement has been endorsed by the

National Members of CEN but neither the National Members of CEN nor the CEN-CENELEC Management Centre can be held

accountable for the technical content of this CEN Workshop Agreement or possible conflicts with standards or legislation.

This CEN Workshop Agreement can in no way be held as being an official standard developed by CEN and its Members.

This CEN Workshop Agreement is publicly available as a reference document from the CEN Members National Standard Bodies.

CEN members are the national standards bodies of Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France,

Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Republic of North

Macedonia, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Türkiye and United Kingdom.

EUROPEAN COMMITTEE FOR STANDARDIZATION
COMITÉ EUROPÉEN DE NORMALISATION
EUROPÄISCHES KOMITEE FÜR NORMUNG
CEN-CENELEC Management Centre: Rue de la Science 23, B-1040 Brussels

© 2022 CEN All rights of exploitation in any form and by any means reserved worldwide for CEN national Members.

Ref. No.:CWA 16926-17:2022 E
---------------------- Page: 3 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
Table of Contents

European Foreword ...................................................................................................... 3

1 Introduction ............................................................................................................. 7

1.1 Background to Release 3.50 ....................................................................................................... 7

1.2 XFS Service-Specific Programming ........................................................................................... 7

2. Barcode Readers ................................................................................................. 9

3. References ......................................................................................................... 10

4. Info Commands ................................................................................................. 11

1.1 WFS_INF_BCR_STATUS ........................................................................................................... 11

1.2 WFS_INF_BCR_CAPABILITIES ................................................................................................. 14

5. Execute Commands .......................................................................................... 17

1.3 WFS_CMD_BCR_READ ............................................................................................................. 17

1.4 WFS_CMD_BCR_RESET ........................................................................................................... 19

1.5 WFS_CMD_BCR_SET_GUIDANCE_LIGHT .............................................................................. 20

1.6 WFS_CMD_BCR_POWER_SAVE_CONTROL .......................................................................... 22

1.7 WFS_CMD_BCR_SYNCHRONIZE_COMMAND ........................................................................ 23

6. Events ................................................................................................................. 24

6.1 WFS_SRVE_BCR_DEVICEPOSITION ....................................................................................... 24

1.8 WFS_SRVE_BCR_POWER_SAVE_CHANGE ........................................................................... 25

7. C - Header file .................................................................................................... 26

---------------------- Page: 4 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
European Foreword

This CEN Workshop Agreement has been developed in accordance with the CEN-CENELEC Guide 29

“CEN/CENELEC Workshop Agreements – The way to rapid consensus” and with the relevant provisions of

CEN/CENELEC Internal Regulations - Part 2. It was approved by a Workshop of representatives of interested

parties on 2022-11-08, the constitution of which was supported by CEN following several public calls for

participation, the first of which was made on 1998-06-24. However, this CEN Workshop Agreement does not

necessarily include all relevant stakeholders.

The final text of this CEN Workshop Agreement was provided to CEN for publication on 2022-11-18.

The following organizations and individuals developed and approved this CEN Workshop Agreement:

• AURIGA SPA
• CIMA SPA
• DIEBOLD NIXDORF SYSTEMS GMBH
• FIS BANKING SOLUTIONS UK LTD (OTS)
• FUJITSU TECHNOLOGY SOLUTIONS
• GLORY LTD
• GRG BANKING EQUIPMENT HK CO LTD
• HITACHI CHANNEL SOLUTIONS CORP
• HYOSUNG TNS INC
• JIANGSU GUOGUANG ELECTRONIC INFORMATION TECHNOLOGY
• KAL
• KEBA HANDOVER AUTOMATION GMBH
• NCR FSG
• NEXUS SOFTWARE
• OBERTHUR CASH PROTECTION
• OKI ELECTRIC INDUSTRY SHENZHEN
• SALZBURGER BANKEN SOFTWARE
• SECURE INNOVATION
• SIGMA SPA

It is possible that some elements of this CEN/CWA may be subject to patent rights. The CEN-CENELEC policy on

patent rights is set out in CEN-CENELEC Guide 8 “Guidelines for Implementation of the Common IPR Policy on

Patents (and other statutory intellectual property rights based on inventions)”. CEN shall not be held responsible for

identifying any or all such patent rights.

The Workshop participants have made every effort to ensure the reliability and accuracy of the technical and non-

technical content of CWA 16926-17, but this does not guarantee, either explicitly or implicitly, its correctness.

Users of CWA 16926-17 should be aware that neither the Workshop participants, nor CEN can be held liable for

damages or losses of any kind whatsoever which may arise from its application. Users of CWA 16926-17 do so on

---------------------- Page: 5 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
their own responsibility and at their own risk.
The CWA is published as a multi-part document, consisting of:

Part 1: Application Programming Interface (API) - Service Provider Interface (SPI) - Programmer's Reference

Part 2: Service Classes Definition - Programmer's Reference
Part 3: Printer and Scanning Device Class Interface - Programmer's Reference
Part 4: Identification Card Device Class Interface - Programmer's Reference
Part 5: Cash Dispenser Device Class Interface - Programmer's Reference
Part 6: PIN Keypad Device Class Interface - Programmer's Reference
Part 7: Check Reader/Scanner Device Class Interface - Programmer's Reference
Part 8: Depository Device Class Interface - Programmer's Reference
Part 9: Text Terminal Unit Device Class Interface - Programmer's Reference

Part 10: Sensors and Indicators Unit Device Class Interface - Programmer's Reference

Part 11: Vendor Dependent Mode Device Class Interface - Programmer's Reference
Part 12: Camera Device Class Interface - Programmer's Reference
Part 13: Alarm Device Class Interface - Programmer's Reference
Part 14: Card Embossing Unit Device Class Interface - Programmer's Reference
Part 15: Cash-In Module Device Class Interface - Programmer's Reference
Part 16: Card Dispenser Device Class Interface - Programmer's Reference
Part 17: Barcode Reader Device Class Interface - Programmer's Reference
Part 18: Item Processing Module Device Class Interface - Programmer's Reference
Part 19: Biometrics Device Class Interface - Programmer's Reference
Parts 20 - 28: Reserved for future use.

Parts 29 through 47 constitute an optional addendum to this CWA. They define the integration between the SNMP

standard and the set of status and statistical information exported by the Service Providers.

Part 29: XFS MIB Architecture and SNMP Extensions - Programmer’s Reference
Part 30: XFS MIB Device Specific Definitions - Printer Device Class
Part 31: XFS MIB Device Specific Definitions - Identification Card Device Class
Part 32: XFS MIB Device Specific Definitions - Cash Dispenser Device Class
Part 33: XFS MIB Device Specific Definitions - PIN Keypad Device Class
Part 34: XFS MIB Device Specific Definitions - Check Reader/Scanner Device Class
Part 35: XFS MIB Device Specific Definitions - Depository Device Class
Part 36: XFS MIB Device Specific Definitions - Text Terminal Unit Device Class

Part 37: XFS MIB Device Specific Definitions - Sensors and Indicators Unit Device Class

Part 38: XFS MIB Device Specific Definitions - Camera Device Class
Part 39: XFS MIB Device Specific Definitions - Alarm Device Class
Part 40: XFS MIB Device Specific Definitions - Card Embossing Unit Class
Part 41: XFS MIB Device Specific Definitions - Cash-In Module Device Class
Part 42: Reserved for future use.

Part 43: XFS MIB Device Specific Definitions - Vendor Dependent Mode Device Class

Part 44: XFS MIB Application Management
---------------------- Page: 6 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
Part 45: XFS MIB Device Specific Definitions - Card Dispenser Device Class
Part 46: XFS MIB Device Specific Definitions - Barcode Reader Device Class

Part 47: XFS MIB Device Specific Definitions - Item Processing Module Device Class

Part 48: XFS MIB Device Specific Definitions - Biometrics Device Class
Parts 49 - 60 are reserved for future use.

Part 61: Application Programming Interface (API) - Migration from Version 3.40 (CWA 16296:2020) to Version

3.50 (this CWA) - Service Provider Interface (SPI) - Programmer's Reference

Part 62: Printer and Scanning Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version

3.50 (this CWA) - Programmer's Reference

Part 63: Identification Card Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version

3.50 (this CWA) - Programmer's Reference

Part 64: Cash Dispenser Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50

(this CWA) - Programmer's Reference

Part 65: PIN Keypad Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50

(this CWA) - Programmer's Reference

Part 66: Check Reader/Scanner Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to

Version 3.50 (this CWA) - Programmer's Reference

Part 67: Depository Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50 (this

CWA) - Programmer's Reference

Part 68: Text Terminal Unit Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version

3.50 (this CWA) - Programmer's Reference

Part 69: Sensors and Indicators Unit Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to

Version 3.50 (this CWA) - Programmer's Reference

Part 70: Vendor Dependent Mode Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to

Version 3.50 (this CWA) - Programmer's Reference

Part 71: Camera Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50 (this

CWA) - Programmer's Reference

Part 72: Alarm Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50 (this

CWA) - Programmer's Reference

Part 73: Card Embossing Unit Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version

3.50 (this CWA) - Programmer's Reference

Part 74: Cash-In Module Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50

(this CWA) - Programmer's Reference

Part 75: Card Dispenser Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50

(this CWA) - Programmer's Reference

Part 76: Barcode Reader Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50

(this CWA) - Programmer's Reference

Part 77: Item Processing Module Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to

Version 3.50 (this CWA) - Programmer's Reference

Part 78: Biometric Device Class Interface - Migration from Version 3.40 (CWA 16296:2020) to Version 3.50 (this

CWA) - Programmer's Reference

In addition to these Programmer's Reference specifications, the reader of this CWA is also referred to a

complementary document, called Release Notes. The Release Notes contain clarifications and explanations on the

CWA specifications, which are not requiring functional changes. The current version of the Release Notes is

available online from: https://www.cencenelec.eu/areas-of-work/cen-sectors/digital-society-cen/cwa-download-

area/.
---------------------- Page: 7 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)

The information in this document represents the Workshop's current views on the issues discussed as of the date of

publication. It is provided for informational purposes only and is subject to change without notice. CEN makes no

warranty, express or implied, with respect to this document.
Revision History:
3.10 November 29, 2007 Initial Release.
3.20 March 2, 2011 For a description of changes from version 3.10 to version
3.20 see the BCR 3.20 Migration document.
3.30 March 19, 2015 For a description of changes from version 3.20 to version
3.30 see the BCR 3.30 Migration document.
3.40 December 06, 2019 For a description of changes from version 3.30 to version
3.40 see the BCR 3.40 Migration document.
3.50 November 18, 2022 For a description of changes from version 3.40 to version
3.50 see the BCR 3.50 Migration document.
---------------------- Page: 8 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
1 Introduction
1.1 Background to Release 3.50

The CEN/XFS Workshop aims to promote a clear and unambiguous specification defining a multi-vendor software

interface to financial peripheral devices. The XFS (eXtensions for Financial Services) specifications are developed

within the CEN (European Committee for Standardization/Information Society Standardization System) Workshop

environment. CEN Workshops aim to arrive at a European consensus on an issue that can be published as a CEN

Workshop Agreement (CWA).

The CEN/XFS Workshop encourages the participation of both banks and vendors in the deliberations required to

create an industry standard. The CEN/XFS Workshop achieves its goals by focused sub-groups working

electronically and meeting quarterly.

Release 3.50 of the XFS specification is based on a C API and is delivered with the continued promise for the

protection of technical investment for existing applications. This release of the specification extends the

functionality and capabilities of the existing devices covered by the specification:

• Addition of E2E security
• PIN Password Entry
1.2 XFS Service-Specific Programming

The service classes are defined by their service-specific commands and the associated data structures, error codes,

messages, etc. These commands are used to request functions that are specific to one or more classes of Service

Providers, but not all of them, and therefore are not included in the common API for basic or administration

functions.

When a service-specific command is common among two or more classes of Service Providers, the syntax of the

command is as similar as possible across all services, since a major objective of the XFS is to standardize function

codes and structures for the broadest variety of services. For example, using the WFSExecute function, the

commands to read data from various services are as similar as possible to each other in their syntax and data

structures.

In general, the specific command set for a service class is defined as a superset of the specific capabilities likely to

be provided by the developers of the services of that class; thus any particular device will normally support only a

subset of the defined command set.

There are three cases in which a Service Provider may receive a service-specific command that it does not support:

The requested capability is defined for the class of Service Providers by the XFS specification, the particular vendor

implementation of that service does not support it, and the unsupported capability is not considered to be

fundamental to the service. In this case, the Service Provider returns a successful completion, but does no operation.

An example would be a request from an application to turn on a control indicator on a passbook printer; the Service

Provider recognizes the command, but since the passbook printer it is managing does not include that indicator, the

Service Provider does no operation and returns a successful completion to the application.

The requested capability is defined for the class of Service Providers by the XFS specification, the particular vendor

implementation of that service does not support it, and the unsupported capability is considered to be fundamental to

the service. In this case, a WFS_ERR_UNSUPP_COMMAND error for Execute commands or

WFS_ERR_UNSUPP_CATEGORY error for Info commands is returned to the calling application. An example

would be a request from an application to a cash dispenser to retract items where the dispenser hardware does not

have that capability; the Service Provider recognizes the command but, since the cash dispenser it is managing is

unable to fulfil the request, returns this error.

The requested capability is not defined for the class of Service Providers by the XFS specification. In this case, a

WFS_ERR_INVALID_COMMAND error for Execute commands or WFS_ERR_INVALID_CATEGORY error

for Info commands is returned to the calling application.
---------------------- Page: 9 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)

This design allows implementation of applications that can be used with a range of services that provide differing

subsets of the functionalities that are defined for their service class. Applications may use the WFSGetInfo and

WFSAsyncGetInfo commands to inquire about the capabilities of the service they are about to use, and modify

their behavior accordingly, or they may use functions and then deal with error returns to make decisions as to how to

use the service.
---------------------- Page: 10 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
2. Barcode Readers

This specification describes the functionality of a Barcode Reader (BCR) Service Provider. It defines the service-

specific commands that can be issued to the Service Provider using the WFSGetInfo, WFSAsyncGetInfo,

WFSExecute and WFSAsyncExecute functions.

Persistent values are maintained through power failures, open sessions, close session and system resets.

This extension to XFS specifications defines the functionality of BCR service.

A Barcode Reader scans barcodes using any scanning technology. The device logic converts light signals or image

recognition into application data and transmits it to the host system.

The basic operation of the Barcode Reader is managed using WFSExecute/WFSAsyncExecute functions.

When an application wants to read a barcode, it issues a WFS_CMD_BCR_READ command to prepare the scanner

to read any barcode presented to it. When a document is presented to the BCR and a barcode type is recognized, a

completion event is received which contains the barcode data that has been read.
---------------------- Page: 11 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
3. References

1. XFS Application Programming Interface (API)/Service Provider Interface ( SPI), Programmer’s Reference

Revision 3.50
---------------------- Page: 12 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
4. Info Commands
1.1 WFS_INF_BCR_STATUS
Description This command is used to request status information for the device.
Input Param None.
Output Param LPWFSBCRSTATUS lpStatus;
typedef struct _wfs_bcr_status
WORD fwDevice;
WORD fwBCRScanner;
DWORD dwGuidLights[WFS_BCR_GUIDLIGHTS_SIZE];
LPSTR lpszExtra;
WORD wDevicePosition;
USHORT usPowerSaveRecoveryTime;
WORD wAntiFraudModule;
} WFSBCRSTATUS, *LPWFSBCRSTATUS;
fwDevice
Specifies the state of the BCR device as one of the following flags:
Value Meaning
WFS_BCR_DEVONLINE The device is online (i.e. powered on and
operable).
WFS_BCR_DEVOFFLINE The device is offline (e.g. the operator has
taken the device offline by turning a switch).
WFS_BCR_DEVPOWEROFF The device is powered off or physically not
connected.
WFS_BCR_DEVNODEVICE There is no device intended to be there; e.g.
this type of self service machine does not
contain such a device or it is internally not
configured.
WFS_BCR_DEVHWERROR The device is inoperable due to a hardware
error.
WFS_BCR_DEVUSERERROR The device is present but a person is
preventing proper device operation.
WFS_BCR_DEVBUSY The device is busy and unable to process an
execute command at this time.
WFS_BCR_DEVFRAUDATTEMPT The device is present but is inoperable
because it has detected a fraud attempt.
WFS_BCR_DEVPOTENTIALFRAUD The device has detected a potential fraud
attempt and is capable of remaining in
service. In this case the application should
make the decision as to whether to take the
device offline.
fwBCRScanner

Specifies the scanner status (laser, camera or other technology) as one of the following flags:

Value Meaning
WFS_BCR_SCANNERON Scanner is enabled for reading.
WFS_BCR_SCANNEROFF Scanner is disabled.
WFS_BCR_SCANNERINOP Scanner is inoperative due to a hardware
error.
WFS_BCR_SCANNERUNKNOWN Scanner status cannot be determined.
dwGuidLights [...]

Specifies the state of the guidance light indicators. A number of guidance light types are defined

below. Vendor specific guidance lights are defined starting from the end of the array. The

maximum guidance light index is WFS_BCR_GUIDLIGHTS_MAX.
---------------------- Page: 13 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
Specifies the state of the guidance light indicator as
WFS_BCR_GUIDANCE_NOT_AVAILABLE, WFS_BCR_GUIDANCE_OFF or a combination

of the following flags consisting of one type B, optionally one type C, and optionally one type D.

Value Meaning Type
WFS_BCR_GUIDANCE_NOT_AVAILABLE The status is not available. A
WFS_BCR_GUIDANCE_OFF The light is turned off. A
WFS_BCR_GUIDANCE_SLOW_FLASH The light is blinking slowly. B
WFS_BCR_GUIDANCE_MEDIUM_FLASH The light is blinking medium B
frequency.
WFS_BCR_GUIDANCE_QUICK_FLASH The light is blinking quickly. B
WFS_BCR_GUIDANCE_CONTINUOUS The light is turned on B
continuous (steady).
WFS_BCR_GUIDANCE_RED The light is red. C
WFS_BCR_GUIDANCE_GREEN The light is green. C
WFS_BCR_GUIDANCE_YELLOW The light is yellow. C
WFS_BCR_GUIDANCE_BLUE The light is blue. C
WFS_BCR_GUIDANCE_CYAN The light is cyan. C
WFS_BCR_GUIDANCE_MAGENTA The light is magenta. C
WFS_BCR_GUIDANCE_WHITE The light is white. C
WFS_BCR_GUIDANCE_ENTRY The light is in the entry state. D
WFS_BCR_GUIDANCE_EXIT The light is in the exit state. D
dwGuidLights [WFS_BCR_GUIDANCE_BCR]
Specifies the state of the guidance light indicator on the Barcode Reader unit.
lpszExtra

Pointer to a list of vendor-specific, or any other extended, information. The information is

returned as a series of “key=value” strings so that it is easily extensible by Service Providers.

Each string is null-terminated, with the final string terminating with two null characters. An empty

list may be indicated by either a NULL pointer or a pointer to two consecutive null characters.

wDevicePosition

Specifies the device position. The device position value is independent of the fwDevice value, e.g.

when the device position is reported as WFS_BCR_DEVICENOTINPOSITION, fwDevice can

have any of the values defined above (including WFS_BCR_DEVONLINE or
WFS_BCR_DEVOFFLINE). This value is one of the following values:
Value Meaning
WFS_BCR_DEVICEINPOSITION The device is in its normal operating
position, or is fixed in place and cannot be
moved.
WFS_BCR_DEVICENOTINPOSITION The device has been removed from its
normal operating position.
WFS_BCR_DEVICEPOSUNKNOWN Due to a hardware error or other condition,
the position of the device cannot be
determined.
WFS_BCR_DEVICEPOSNOTSUPP The physical device does not have the
capability of detecting the position.
usPowerSaveRecoveryTime

Specifies the actual number of seconds required by the device to resume its normal operational

state from the current power saving mode. This value is zero if either the power saving mode has

not been activated or no power save control is supported.
wAntiFraudModule
Specifies the state of the anti-fraud module as one of the following values:
Value Meaning
WFS_BCR_AFMNOTSUPP No anti-fraud module is available.
WFS_BCR_AFMOK Anti-fraud module is in a good state and no
foreign device is detected.
WFS_BCR_AFMINOP Anti-fraud module is inoperable.
---------------------- Page: 14 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
WFS_BCR_AFMDEVICEDETECTED Anti-fraud module detected the presence of a
foreign device.
WFS_BCR_AFMUNKNOWN The state of the anti-fraud module cannot be
determined.

Error Codes Only the generic error codes defined in [Ref. 1] can be generated by this command.

Comments In the case where communications with the device has been lost, the fwDevice field will report

WFS_BCR_DEVPOWEROFF when the device has been removed or

WFS_BCR_DEVHWERROR if the communications are unexpectedly lost. All other fields should

contain a value based on the following rules and priority:
1. Report the value as unknown.
2. Report the value as a general h/w error.
3. Report the value as the last known value.
---------------------- Page: 15 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
1.2 WFS_INF_BCR_CAPABILITIES
Description This command is used to retrieve the capabilities of the BCR unit.
Input Param None.
Output Param LPWFSBCRCAPS lpCaps;
typedef struct _wfs_bcr_caps
WORD wClass;
BOOL bCompound;
BOOL bCanFilterSymbologies;
LPWORD lpwSymbologies;
DWORD dwGuidLights[WFS_BCR_GUIDLIGHTS_SIZE];
LPSTR lpszExtra;
BOOL bPowerSaveControl;
BOOL bAntiFraudModule;
LPDWORD lpdwSynchronizableCommands;
} WFSBCRCAPS, *LPWFSBCRCAPS;
wClass
Specifies the logical service class as WFS_SERVICE_CLASS_BCR.
bCompound
Specifies whether the logical device is part of a compound physical device.
bCanFilterSymbologies

Specifies whether the device is capable of discriminating between the presented barcode

symbologies such that only the desired symbologies are recognized/reported.
lpwSymbologies

Pointer to an array of WORDs. This list specifies the barcode symbologies readable by the

scanner. The array is terminated with a zero value. lpwSymbologies is a NULL pointer if the

supported barcode symbologies can not be determined.
Value Meaning
WFS_BCR_SYM_EAN128 GS1-128
WFS_BCR_SYM_EAN8 EAN-8
WFS_BCR_SYM_EAN8_2 EAN-8 with 2 digit add-on
WFS_BCR_SYM_EAN8_5 EAN-8 with 5 digit add-on
WFS_BCR_SYM_EAN13 EAN13
WFS_BCR_SYM_EAN13_2 EAN-13 with 2 digit add-on
WFS_BCR_SYM_EAN13_5 EAN-13 with 5 digit add-on
WFS_BCR_SYM_JAN13 JAN-13
WFS_BCR_SYM_UPCA UPC-A
WFS_BCR_SYM_UPCE0 UPC-E
WFS_BCR_SYM_UPCE0_2 UPC-E with 2 digit add-on
WFS_BCR_SYM_UPCE0_5 UPC-E with 5 digit add-on
WFS_BCR_SYM_UPCE1 UPC-E with leading 1
WFS_BCR_SYM_UPCE1_2 UPC-E with leading 1and 2 digit add-on
WFS_BCR_SYM_UPCE1_5 UPC-E with leading 1and 5 digit add-on
WFS_BCR_SYM_UPCA_2 UPC-A with2 digit add-on
WFS_BCR_SYM_UPCA_5 UPC-A with 5 digit add-on
WFS_BCR_SYM_CODABAR CODABAR (NW-7)
WFS_BCR_SYM_ITF Interleaved 2 of 5 (ITF)
WFS_BCR_SYM_11 CODE 11 (USD-8)
WFS_BCR_SYM_39 CODE 39
WFS_BCR_SYM_49 CODE 49
WFS_BCR_SYM_93 CODE 93
WFS_BCR_SYM_128 CODE 128
WFS_BCR_SYM_MSI MSI
WFS_BCR_SYM_PLESSEY PLESSEY
---------------------- Page: 16 ----------------------
SIST CWA 16926-17:2023
CWA 16926-17:2022 (E)
WFS_BCR_SYM_STD2OF5 STANDARD 2 of 5 (INDUSTRIAL 2 of 5
also)
WFS_BCR_SYM_STD2OF5_IATA STANDARD 2 of 5 (IATA Version)
WFS_BCR_SYM_PDF_417 PDF-417
WFS_BCR_SYM_MICROPDF_417 MICROPDF-417
WFS_BCR_SYM_DATAMATRIX GS1 DataMatrix
WFS_BCR_SYM_MAXICODE MAXICODE
WFS_BCR_SYM_CODEONE CODE ONE
WFS_BCR_SYM_CHANNELCODE CHANNEL CODE
WFS_BCR
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.