0

我有以下代码使用 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;
                    }
                }
            }
4

1 回答 1

0

如果设备支持电量报告,您可以查看StatusPowerOff设备是否断电或连接到终端(参见Microsoft Docs

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

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

还有以下可能会有所帮助(来自MSR Docs

  • StatusPowerOffline:表示设备已开机但未准备好或无法响应请求
  • StatusPowerOffOffline:表示设备电源关闭或离线
  • StatusPowerOnline:表示设备电源已打开,可以使用。
于 2014-01-31T12:54:53.327 回答