Some devices are permanently plugged into the system, while others can be plugged in and unplugged while the system is running. Bus drivers must identify and report the devices that are connected to their bus, and they must discover and report the arrival and departure of devices in the system.
The devices that a bus driver identifies and reports are called the bus's child devices. The process of identifying and reporting child devices is called bus enumeration. During bus enumeration, the bus driver creates device objects for its child devices. For more information about bus enumeration, see Enumerating the Devices on a Bus.
Bus drivers are essentially function drivers, or rarely a filter driver, that also handle bus enumeration. A bus driver is typically the function driver for the bus adapter, but it is not the function driver for the child devices that are connected to the bus.
Bus drivers also have the same PnP and power management responsibilities that function drivers have. For information about these responsibilities, see Supporting PnP and Power Management in Function Drivers.