Поделиться через


Объекты устройств PointOfService

Узнайте, как создать объект устройства PointOfService, который будет предоставлять доступ к свойствам периферийного устройства только для чтения и запрашивать периферийное устройство для монопольного использования в приложении универсальная платформа Windows (UWP).

Создание объекта устройства

После определения устройства PointOfService, которое вы хотите использовать из нового перечисления или хранимого идентификатора устройства, просто вызовите метод FromIdAsync в DeviceID, который вы выбрали программным способом или который пользователь выбрал для создания объекта POS-устройства.

В этом примере осуществляется создание нового объекта BarcodeScanner с FromIdAsync с помощью идентификатора устройства. В случае сбоя при создании объекта регистрируется сообщение об отладке.


    BarcodeScanner barcodeScanner = await BarcodeScanner.FromIdAsync(DeviceId);

    if(barcodeScanner != null)
    {
        // after successful creation, claim the scanner for exclusive use and enable it to exchange data
    }
    else
    {
        Debug.WriteLine("Failure to create barcodeScanner object");
    }
    

После создания объекта устройства можно осуществлять доступ к методам, свойствам и событиям устройства.

Жизненный цикл объекта устройства

До выпуска Windows 8 у приложений был простой жизненный цикл. Приложения Win32 и .NET выполняются или не выполняются, а периферийные устройства PointOfService обычно запрашиваются в течение всего жизненного цикла приложения. Когда пользователь сворачивал их или переключался на другие задачи, они продолжали работу. Этого было достаточно, пока портативные устройства и управление питанием не стали играть более важную роль.

В Windows 8 была представлена новая модель приложений — приложения UWP. На высоком уровне было добавлено новое приостановленное состояние. Приложение UWP приостанавливается вскоре после того, как пользователь свернет его или переключится на другое приложение. Это означает, что потоки приложения будут остановлены, а приложение останется в памяти, если операционной системе не потребуется освободить ресурсы, и любые объекты устройств, представляющие периферийные устройства PointOfService, будут автоматически закрыты, чтобы разрешить доступ к периферийным устройствам для других приложений. Когда пользователь возвращается к приложению, его можно быстро перевести в состояние выполнения, а также восстановить подключения периферийных устройств PointOfService при условии, что они по-прежнему доступны при возобновлении работы.

Вы можете определить, когда объект закрыт по любой <причине с помощью DeviceObject>. Затем запишите идентификатор устройства, чтобы повторно установить подключение в будущем. Кроме того, вы можете обработать это в уведомлении о приостановке приложения, чтобы сохранить идентификаторы устройства для повторной установки подключений к устройству в уведомлении о возобновлении приложения. Убедитесь, что вы не удвоите обработчики событий и не дублируете действия для объекта устройства в обоих <объектах DeviceObject>. Закрыта и приостановлена работа приложений.

Совет

Дополнительные сведения о жизненном цикле приложения универсальной платформы Windows (для Windows 10) см. в следующих разделах: