6.2.10 Bus drivers that produce children with multiple parents

Sometimes a bus driver may produce a child handle, and that child handle actually uses the services of multiple parent controllers. This design is useful for multiplexing a group of parent controllers.

The bus driver, in this case, manages multiple parent controllers and produces a single child handle. The services produced on that single child handle make use of the services from each of the parent controllers. Typically, the child device is a virtual device, so a Device Path Protocol would not be installed onto the child handle.

The console splitter bus driver is an example driver in the EDK II that produces children with multiple parent controllers in the Start() service of the Driver Binding Protocol. This driver is in the \MdeModulePkg\Universal\Console\ConSplitterDxe directory.