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


DeviceWatcher Класс

Определение

Динамически перечисляет устройства, чтобы приложение получало уведомления о добавлении, удалении или изменении устройств после завершения начального перечисления.

public ref class DeviceWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DeviceWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DeviceWatcher
Public NotInheritable Class DeviceWatcher
Наследование
Object Platform::Object IInspectable DeviceWatcher
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

Полные примеры на C# и C++ см. в примере перечисления и связывания устройств.

Комментарии

Приложение вызывает start , чтобы начать поиск устройств. Во время этого начального перечисления DeviceWatcher вызывает событие Added для каждого найденного устройства, пока не будут найдены все устройства. DeviceWatcher вызывает событие EnumerationCompleted после завершения начального перечисления и продолжает вызывать события при добавлении, обновлении или удалении устройства.

На следующей схеме показано, как DeviceWatcher переходит между состояниями, представленными перечислением DeviceWatcherStatus .

Схема состояний DeviceWatcher

Метод Start можно вызывать только в том случае, если DeviceWatcher находится в состоянии Создано, Остановлено или Прервано . Свойство Status указывает состояние DeviceWatcher. При повторном запуске наблюдателя дождитесь события Stopped перед вызовом Start.

Остановка переводит DeviceWatcher в состояние Остановка и немедленно завершает работу. Наблюдатель перейдет в состояние Остановлено после завершения всех событий, которые уже находятся в процессе создания.

Приложения могут ждать события Stopped, если им нужно знать, когда устройство DeviceWatcher остановлено. Вызывающие стороны должны дождаться события Stopped, прежде чем они смогут вызвать Start для перезапуска наблюдателя. Вызывающие абоненты могут отменить подписку на события, если они не хотят получать какие-либо дополнительные события после остановки , но не хотят ждать события Stopped .

Примечание

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

Свойства

Status

Состояние DeviceWatcher.

Методы

GetBackgroundTrigger(IIterable<DeviceWatcherEventKind>)

Возвращает объект DeviceWatcherTrigger, отслеживающий изменения в списке устройств.

Start()

Начинает поиск устройств и подписывается на события перечисления устройств.

Stop()

Прекратить создание событий, которые добавляют, обновляют и удаляют результаты перечисления.

События

Added

Событие, возникающее при добавлении устройства в коллекцию, перечисленную DeviceWatcher.

EnumerationCompleted

Событие, возникающее при завершении перечисления устройств.

Removed

Событие, возникающее при удалении устройства из коллекции перечислимых устройств.

Stopped

Событие, возникающее при остановке операции перечисления.

Updated

Событие, возникающее при обновлении устройства в коллекции перечислимых устройств.

Применяется к

См. также раздел