Status codes returned – Intel Extensible Firmware Interface User Manual

Page 137

Advertising
background image

Services — Boot Services

Version 1.10

12/01/02

5-39

EFI_OPEN_PROTOCOL_EXCLUSIVE

and calling the boot service

DisconnectController()

for each of them. If the disconnect succeeds, then those agents

will have called the boot service

CloseProtocol()

to release the protocol interface. Lastly, all

of the agents that have the protocol interface open with an attribute of

EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL

,

EFI_OPEN_PROTOCOL_GET_PROTOCOL

, or

EFI_OPEN_PROTOCOL_TEST_PROTOCOL

are

closed. If there are any agents remaining that still have the protocol interface open, the protocol
interface is not removed from the handle and

EFI_ACCESS_DENIED

is returned. In addition, all

of the drivers that were disconnected with the boot service

DisconnectController()

earlier,

are reconnected with the boot service

ConnectController()

. If there are no agents remaining

that are consuming the protocol interface, then the protocol interface is removed from the handle as
described above.

Status Codes Returned

EFI_SUCCESS

The interface was removed.

EFI_NOT_FOUND

The interface was not found.

EFI_ACCESS_DENIED

The interface was not removed because the interface
is still being used by a driver.

EFI_INVALID_PARAMETER

One of the parameters has an invalid value.

Advertising