6.1.1 Required Device Driver Features
Device drivers are required to implement the following features:
- A driver entry point that installs one or more instances of the Driver Binding Protocol.
- Manages one or more controller handles. Even if a driver writer is convinced that the driver manages only a single controller, it is strongly recommended that the driver be designed to manage multiple controllers. The overhead for this functionality is low, and it makes the driver more portable.
- Does not produce any child handles. This feature is the main distinction between device drivers and bus/hybrid drivers.
- Ignores the RemainingDevicePath parameter that is passed into the
Start()services of the Driver Binding Protocol.
- Consumes one or more I/O-related protocols from the controller handle.
- Produces one or more I/O-related protocols on the same controller handle.