Windows Dev Center

Windows.Devices.Enumeration.Pnp namespace

Provides classes for enumerating a collection of Pnp device objects, and event handlers for monitoring changes to the objects in the collection asynchronously.

The following are typical uses of the Windows.Devices.Enumeration.Pnp API.

  • Building a user interface for selecting the device to be used by an application. For example, a voice chat application may present a list of microphones or webcams for the user to select from, or a photo import application may present a list of removable storage devices for the user to import photos from.
  • Device discovery and notifications about devices for apps that use them, like Windows Store device apps.


The Windows.Devices.Enumeration.Pnp namespace has these types of members:


PnpObject Represents a PnP object. This class allows access to well-known properties of a PnP object as well as a property store of additional properties that are specified to be retrieved from the the PnP object.
PnpObjectCollection Represents an iterable collection of Pnp device objects.
PnpObjectUpdate Contains the updated properties of a PnpObject.
PnpObjectWatcher 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.



The Windows.Devices.Enumeration.Pnp namespace has these enumerations.

PnpObjectType Indicates the device type of a PnpObject.



Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]


Windows::Devices::Enumeration::Pnp [C++]





© 2015 Microsoft