Status codes returned – Intel Extensible Firmware Interface User Manual
Page 139
Services — Boot Services
Version 1.10
12/01/02
5-41
components that use the
and
boot services, a safe
version of this function can be implemented.
When this function is called, a call is first made to the boot service
. This will guarantee that all of the agents are currently
consuming the protocol interface
OldInterface
will stop using
OldInterface
. If
UninstallProtocolInterface()
returns
EFI_ACCESS_DENIED
, then this function
returns
EFI_ACCESS_DENIED
,
OldInterface
remains on
Handle
, and the protocol notifies
are not processed because
NewInterface
was never installed.
If
UninstallProtocolInterface()
succeeds, then a call is made to the boot service
to put the
NewInterface
onto
Handle
.
Finally, the boot service
is called so all agents that were forced to
release
OldInterface
with
UninstallProtocolInterface()
can now consume the
protocol interface
NewInterface
that was installed with
InstallProtocolInterface()
.
After
OldInterface
has been replaced with
NewInterface
, any process that has registered
to wait for the installation of the interface is notified.
Status Codes Returned
EFI_SUCCESS
The protocol interface was reinstalled.
EFI_NOT_FOUND
The
OldInterface
on the handle was not found.
EFI_ACCESS_DENIED
The protocol interface could not be reinstalled,
because
OldInterface
is still being used by a
driver that will not release it.
EFI_INVALID_PARAMETER
One of the parameters has an invalid value.