A SERVICE OF

logo

Extensible Firmware Interface Specification
56 12/12/00 Version 1.02
Device Handle
First Handle
GUID
Interface
GUID
Interface
GUID
Interface
GUID
Interface
Protocol
Interface
Instance
Data
Protocol
Interface
Instance
Data
Protocol
Interface
Instance
Data
Protocol
Interface
Instance
Data
Device Handle
GUID
Interface
GUID
Interface
Protocol
Interface
Instance
Data
Protocol
Interface
Instance
Data
...
Figure 3-1. Device Handle to Protocol Handler Mapping
The ability to add new protocol interfaces as new handles or to layer them on existing interfaces
provides great flexibility. Layering makes it possible to add a new protocol that builds on a
devices basic protocols. An example of this might be to layer on a SIMPLE_TEXT_OUTPUT
protocol support that would build on the handles underlying SERIAL_IO protocol.
The ability to add new handles can be used to generate new devices as they are found, or even to
generate abstract devices. An example of this might be to add a multiplexing device that replaces
ConsoleOut with a virtual device that multiplexes the SIMPLE_TEXT_OUTPUT protocol onto
multiple underlying device handles.