Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Services — Boot Services
Version 1.10 12/01/02 5-63
Each of the four groups of image handles listed above is tested against ControllerHandle in
order by using the EFI_DRIVER_BINDING_PROTOCOL service Supported()
.
RemainingDevicePath is passed into Supported() unmodified. The first image handle
whose Supported() service returns EFI_SUCCESS is marked so the image handle will not be
tried again during this call to ConnectController(). Then, the Start()
service of the
EFI_DRIVER_BINDING_PROTOCOL is called for ControllerHandle. Once again,
RemainingDevicePath is passed in unmodified. Every time Supported() returns
EFI_SUCCESS, the search for drivers restarts with the highest precedence image handle. This
process is repeated until no image handles pass the Supported() check.
If at least one image handle returned EFI_SUCCESS from its Start() service, then
EFI_SUCCESS is returned.
If no image handles returned EFI_SUCCESS from their Start() service then
EFI_NOT_FOUND is returned unless RemainingDevicePath is not NULL,and
RemainingDevicePath is an End Node. In this special case, EFI_SUCCESS is returned
because it is not an error to fail to start a child controller that is specified by an End Device Path
Node.
Status Codes Returned
EFI_SUCCESS
One or more drivers were connected to
ControllerHandle.
EFI_SUCCESS
No drivers were connected to
ControllerHandle, but
RemainingDevicePath is not NULL, and it is an End Device
Path Node.
EFI_INVALID_PARAMETER
ControllerHandle is not a valid EFI_HANDLE.
EFI_NOT_FOUND
There are no
EFI_DRIVER_BINDING_PROTOCOL instances
present in the system.
EFI_NOT_FOUND
No drivers were connected to
ControllerHandle.