POS for .NET - 未连接但已找到,打开并声明成功的MSR设备

时间:2014-01-30 03:01:01

标签: .net opos

我有以下代码,它使用POS for .NET查找MSR设备,并返回与我的设备名称匹配的实例。然后,即使MSR设备未连接到计算机,我也会打开并声明成功找到的实例。怎么可能呢?有没有办法知道该设备是否在打开并声明它之前是否完全连接?在未连接设备时,我不会在调用Open()或Claim()时收到异常或任何异常。非常感谢任何指导。

PosExplorer explorer = new PosExplorer();
            var devices = explorer.GetDevices(DeviceType.Msr);
            foreach (DeviceInfo deviceInfo in devices)
            {
                if (deviceInfo.ServiceObjectName.ToLower() == deviceName.ToLower())
                {
                    PosDevice posDevice = explorer.CreateInstance(deviceInfo);
                    if (posDevice is PosCommon)
                    {
                        posCommon = posDevice as PosCommon;
                        _log.Debug(string.Format("Instance of device {0} created.", deviceName));
                        break;
                    }
                }
            }

1 个答案:

答案 0 :(得分:0)

如果设备支持电源报告,您可以查看StatusPowerOff以查看设备是否已关闭或连接到终端(请参阅Microsoft Docs

  

PosCommon.StatusPowerOff:表示设备的电源已关闭或已从终端分离。

您还需要首先检查CapPowerReporting以查看该设备是否支持电源报告。

以下内容可能有所帮助(来自MSR Docs

  • StatusPowerOffline:表示设备已开机但尚未就绪或无法响应请求
  • StatusPowerOffOffline:表示设备的电源已关闭或处于脱机状态
  • StatusPowerOnline:表示设备的电源已打开且可以使用。