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ドキュメントから)

  • StatusPowerOffline: デバイスの電源はオンになっていますが、準備ができていないか、要求に応答できないことを示します
  • StatusPowerOffOffline:デバイスの電源がオフまたはオフラインであることを示します
  • StatusPowerOnline:本機の電源が入り、使用できる状態であることを示します。
于 2014-01-31T12:54:53.327 に答える