Enumerating the Devices on a Bus

Bus enumeration is the act of determining which child devices are connected to a parent device. A parent device is typically a bus adapter, but it can also be a device that supports multiple functions, such as a sound card, for which each function requires a separate set of drivers.

Kernel-Mode Driver Framework (KMDF) supports two types of bus enumeration:

  • Static enumeration, which is easy to implement and is ideal if the number and type of child devices is not system-specific and does not change after the hardware has been plugged in.

  • Dynamic enumeration, which should be used if the number or type of child devices changes from one computer to another.

A bus driver can use either or both types of bus enumeration.

For more information about writing a KMDF bus driver, see Bus Driver Development Based on KMDF.