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

POS for.NET-MSR设备未连接,但已成功找到、打开并声明,.net,opos,.net,Opos,下面的代码使用POS for.NET查找MSR设备,并返回与我的设备名称匹配的实例。然后,我打开并声明已成功找到的实例,即使MSR设备未连接到计算机。这怎么可能呢?有没有办法在打开并声明之前知道设备是否真的连接好?当设备未连接时,调用Open()或Claim()不会出现异常或任何情况。非常感谢您的指导 PosExplorer explorer = new PosExplorer(); var devices = explorer.GetDevices(DeviceType

下面的代码使用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;
                    }
                }
            }

如果设备支持电源报告,您可以检查
状态poweroff
,查看设备是否已关机或连接到终端(请参阅)

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

您还需要先检查
CapPowerReporting
,查看设备是否支持电源报告

还有以下几点可能会有所帮助(来自)

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