Microsoft’s POS for .NET supports both native .NET service objects and legacy OPOS service objects which are based upon OLE technology.  Normally, POS for .NET interfaces with the legacy devices without any issues and this is done without any interaction or knowledge required by the application.  However, there are some rare instances where an application may need to know if the service object is based upon OPOS or .NET.  For example, in the rare cases where the OPOS service object requires that the BinaryConversion property be set to a value other than the default the application would need to know the type of service object that it is working with.

 

Because the BinaryConversion property is specific only to OPOS devices within the standard, it is not exposed by .NET service objects.  However, one can still access this property when working with legacy OPOS service objects when this is required by the service object.  This can be done by casting the service object returned by the POSExplorer to: ILegacyControlObject.  Using the cast type, one can then get and set the BinaryConversion property and other OPOS specific properties.

The default value for the BinaryConversion property is None.  However some devices, such as the Ingenico Signature Capture (SigCap) device, may require that the value be set to Nibble or Decimal.  In such cases, the application would need to cast the device returned by the POSExplorer to ILegacyControlObject and then set the BinaryConversion property to the desired value (such as Nibble).

 

To learn more about the BinaryConversion property or any other variations of the standard that are specific to OPOS based service object, see page A-24 of Appendix A of the UnifiedPOS standard specification which is freely available at:  http://www.nrf-arts.org/UnifiedPOS/default.htm.  The help documentation included with the POS for .NET SDK also has some helpful information.