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
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
Полные примеры на C# и C++ см. в примере перечисления и связывания устройств.
Комментарии
Приложение вызывает start , чтобы начать поиск устройств. Во время этого начального перечисления DeviceWatcher вызывает событие Added для каждого найденного устройства, пока не будут найдены все устройства. DeviceWatcher вызывает событие EnumerationCompleted после завершения начального перечисления и продолжает вызывать события при добавлении, обновлении или удалении устройства.
На следующей схеме показано, как DeviceWatcher переходит между состояниями, представленными перечислением DeviceWatcherStatus .
Метод 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 |
Событие, возникающее при обновлении устройства в коллекции перечислимых устройств. |