-api-id | -api-type |
---|---|
T:Windows.Devices.Enumeration.Pnp.PnpObjectWatcher |
winrt class |
Important
We no longer recommend that you use the types in the Windows.Devices.Enumeration.Pnp namespace. Instead, the types in the Windows.Devices.Enumeration namespace implement a modern, and better maintained, superset of the functionality of Windows.Devices.Enumeration.Pnp.
The alternative to PnpObjectType is the Windows.Devices.Enumeration.DeviceInformationKind enum, which you can pass as a parameter to Windows.Devices.Enumeration APIs. For example, instead of using PnpObjectType when you create a PnpObjectWatcher, use DeviceInformationKind when you create a DeviceWatcher.
Raises events to notify the client that a PnpObject has been added, updated, or removed from an enumerated collection of Pnp device objects in an incremental and asynchronous way.
An app calls Start to begin the search for devices. During this initial enumeration, the PnpObjectWatcher raises an Added event for each device that's found, until all devices are found. The PnpObjectWatcher raises an EnumerationCompleted event when the initial enumeration is complete, and continues to raise events if a device is added, updated, or removed.
The following diagram shows how the PnpObjectWatcher transitions between the states represented by DeviceWatcherStatus enumeration.
The Start method can only be called when the PnpObjectWatcher is in the Created, Stopped or Aborted state. The Status property indicates the PnpObjectWatcher state. When re-starting the watcher, wait for the Stopped event before calling Start.
A call to Stop transitions the PnpObjectWatcher to the Stopping state and completes immediately. The watcher will transition to the Stopped state once all events that are already in the process of being raised have completed.
After calling Stop, apps may wait for the Stopped event if they need to know when the PnpObjectWatcher has stopped. Callers must wait for the Stopped event before they can call Start to restart the watcher. Callers may unsubscribe from events if they do not want to receive any additional events after Stop but do not want to wait for the Stopped event.