The Service Binding Protocol is not associated with a single GUID value. Instead, each Service Binding Protocol GUID value is paired with another protocol providing a specific set of services. The protocol interfaces for all Service Binding Protocols are identical and contain the services
CreateChild() is called, a new handle is created with the associated protocol installed. When
DestroyChild() is called, the associated protocol is uninstalled and the handle is freed.
The UEFI Specification defines the following Service Binding Protocol GUIDs.
Service Binding Protocol
The Service Binding Protocol feature is required only if the associated protocol requires a Service Binding Protocol to produce its services and it defines a GUID value for that Service Binding Protocol. The table above lists the protocols defined in the UEFI Specification requiring the Service Binding Protocol feature. None of the other protocols defined by the UEFI Specification require a Service Binding Protocol.
For new protocols, a decision must be made to determine if the new protocol requires a Service Binding Protocol. The Driver Binding Protocol is usually sufficient for managing devices on common bus topologies and for the simple layering of protocols on a single device. When more complex tree or graph topologies are required and, with the expectation that services of the new protocol be required by multiple consumers, a Service Binding Protocol should be considered.