Home Up OPOS Background OPOS Releases Common Controls Hardware Vendors OPOS & Microsoft .NET

OPOS Background

Historical Background

OPOS was the first widely-adopted POS device standard. It was initiated by Microsoft, NCR, Epson, and Fujitsu-ICL to help integrate POS hardware into applications for the Windows™ family of operating systems. OPOS uses COM technology, and is therefore language independent.

The first OPOS technical meeting was convened in January, 1995. The first production release, 1.01, was made in March, 1996. Its seventh release, 1.6, was in July, 2001.  Beginning with release 1.7, the OPOS committee no longer releases an implementation-specific document. The UnifiedPOS document has added implementation information into an appendix.

The core membership was established with a minimal number of major players in the Retail industry, so that initial work could proceed quickly.  The core committee consists of Microsoft Corporation, NCR Corporation, Seiko Epson Corporation, and Fujitsu/ICL.  Following the initial release in December 1995, one representative each from Europe and Japan was added to the core group, bringing its membership to the current six.  The core committee is tasked with general oversight of the initiative, while all interested parties are welcomed to attend general sessions and provide input.

What Is "OLE for Retail POS?"

OLE for Retail POS consists of:

  • An architecture for Win32-based POS device access.  OPOS has been deployed on Microsoft Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP (including embedded variants), Windows Vista, and Windows CE.  Current deployments are largely on Windows XP.
  • A set of POS device interfaces sufficient to support a wide range of POS solutions.  Release 1.6 includeed 21 device classes.

Deliverables are:

  • Application Programmer's Guide: For application developers and hardware providers.
  • Control Programmer's Guide: For hardware providers.
  • Header files with OPOS constants.
  • No complete software components: Hardware providers or third-party providers develop and distribute these components.

General OPOS Model

OLE for Retail POS Controls adhere to the ActiveX Control specifications. They expose properties, methods, and events to a containing Application. The controls are invisible at run time, and rely exclusively upon the containing application for requests through methods and sometimes properties. Responses are given to the application through method return values and parameters, properties, and events.

The OLE for Retail POS software is implemented using the layers shown in the following diagram:

How to Use OPOS

Expanding on the model above, a typical POS application will include the following in its software stack:

  • Application.  This may be written in any language that supports COM controls, such as Visual C++ and Visual Basic.  (Or see the OPOS and Microsoft .NET page for information on using languages such as C#.)
  • OPOS Common Control Object.  The application creates an instance of a Control Object and hooks into its events, then calls its methods and properties, and may receive events from it.

    The Control Objects are available from the CCO Current Version page.
  • OPOS Service Object.  When the application calls the Control Object's Open(DeviceName) method, the Control Object looks for the DeviceName in the registry to find and instantiate the appropriate Service Object.  (You can manually browse the registry beginning at the key HKLM\SOFTWARE\OLEforRetail\ServiceOPOS to find the valid device names.)

    The service object must be acquired from the hardware vendor, and must be installed and configured using instructions from the vendor.  Most vendor's configuration utilities offer a test option (which often run the OPOS CheckHealth API).  During setup, you should try it to make sure that the Service Object is set up and working with the hardware before adding the additional software layers.
Last updated: 2009-12-31


Web Site navigation aids:  Table-of-Contents.  Search.
Send mail to with questions or comments about this web site.
Copyright © 2009 Monroe Consulting Services, Inc.