Software Device API
You can use the Software Device API to enumerate PnP devices in an app. The API lets you enumerate the device as a child of any existing parent device. The API also lets you register device interfaces against the enumerated devices and set properties for the devices and interfaces.
This guide contains info on how to use the Software Device API to enumerate PnP devices.
This reference describes Software Device API functions that a client app calls and a callback function that a client app implements and Software Device API structures.
The Software Device API is designed for use by developers who want to publish device functionality in the PnP "directory" or to load a device driver.