0

I installed U.are.U 4500 fingerprint sensor drivers from here

Inside the folder it was installed it came with an OPOS project sample (created in visual basic) which I already tested and it is working fine, so I tested my next code to get to work with the OPOS device:

List<string> retorno = new List<string>();
PosExplorer myPosExplorer = new PosExplorer();
DeviceCollection myDevices = myPosExplorer.GetDevices();
foreach (DeviceInfo dev in myDevices)
{
    if (dev.Type == DeviceType.Biometrics)
    {
        retorno.Add(dev.ServiceObjectName);
    }
}

For some reason this code does not find any biometric device. I know that this method work for other OPOS devices (like Msr, Scale, LineDisplay). But why it can not find the biometrics and the sample code it is able to do it? Am I missing something?

I am hoping to work with this device as i do with all the other ones like MSR, LineDisplay, etc. Example here.

PS: I am working with c#, WPF and OPOS framework 1.14.

Jason Aller
  • 3,541
  • 28
  • 38
  • 38
Fernando Santiago
  • 2,128
  • 10
  • 44
  • 75
  • Put a breakpoint on the `if (dev.Type == DeviceType.Biometrics)` line. Run the code. Everytime the breakpoint gets hit, look at `dev` in the **Watch Window**. Do any of the devices look like your device? – mjwills Sep 03 '18 at 21:41
  • if I delete de "if (dev.Type == DeviceType.Biometrics)" i get all other drivers of other devices that I have installed, but none of them refers to the biometric fingerprint – Fernando Santiago Sep 03 '18 at 21:48
  • I can not verify the Biometrics device, but I tried to make something that might be helpful for you. [AltCCOInterop](https://github.com/kunif/AltCCOInterop) There is also a source code, please try it. – kunif Sep 28 '18 at 15:40

1 Answers1

0

You are using POS for.NET instead of OPOS.

And unfortunately, under standard conditions POS for.NET can not call Biometrics OPOS. Of the 36 types of devices defined for UnifiedPOS (including OPOS), there are 24 kinds of OPOS callable from POS for.NET, but that does not include Biometrics.

For information on which kind of device can call OPOS from POS for.NET, refer to the following documents.

  • Devices whose supported version number are described in the "COM Inter-op" column of the table of 1575 page(described as "Device Category Support Level C-5" in header) in the UnifiedPOS 1.14.1 specification.
  • Devices described in "Support for OLE for Retail POS (OPOS)" at the beginning of What's New in POS for.NET v1.14 and v1.14.1.

However, there is a possibility that the vendor of the device you are using may be able to call Biometrics OPOS from POS for.NET, it may be creating/offering vendor's own relay service object, Please check with your document or vendor.

If the vendor does not prepare it, you have the following choices.

  • Create a relay service object by yourself that allows you to call Biometrics OPOS from POS for.NET.
  • Give up call from POS for.NET and call Biometrics OPOS directly using OPOS's CommonCO.
kunif
  • 4,060
  • 2
  • 10
  • 30
  • So it means that even if I am able to call the class "Biometrics" using Microsoft.PointOfService.dll it does not really support this devices? – Fernando Santiago Sep 04 '18 at 00:02
  • It seems like the present situation. So please make sure the device vendor has a way to use it from POS for.NET. – kunif Sep 04 '18 at 00:11
  • It does have an "OPOSBiometrics.ocs" to import but it does not give any information on how to list devices installed. – Fernando Santiago Sep 04 '18 at 00:20
  • 1
    Please check the OPOS registry with Registry Editor. "HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\Biometrics" or "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\OLEforRetail\ServiceOPOS\Biometrics" – kunif Sep 04 '18 at 00:49
  • Ok, what should i find there? – Fernando Santiago Sep 04 '18 at 02:57
  • Refer to the OPOS related description of the two SDK documents and install the development environment and sample application. Please check the registry after the sample application works properly. If the device vendor is properly compliant with the OPOS specification, the registry should have the information appropriate for the device. – kunif Sep 04 '18 at 03:20
  • Probably so. You can start using the device name parameter of the Open method of the Biometrics device by specifying that string. For details please see "Section 3: OPOS Registry Usage A-73" etc of UnifiedPOS specifications. – kunif Sep 04 '18 at 15:46
  • I just found it. So this means there is a way to tell POS.NET to work with this device by giving it the registry name? – Fernando Santiago Sep 04 '18 at 16:03
  • No, this is a way to use the device from "OPOSBiometrics.ocs"(vendor proprietary CO?). There is no change in the situation that can not be used from POS for.NET. – kunif Sep 04 '18 at 22:22