Services — Boot Services
Version 1.10 12/01/02 5-57
Description
This function updates the handle database to show that the protocol instance specified by Handle
and Protocol is no longer required by the agent and controller specified AgentHandle and
ControllerHandle.
If Handle or AgentHandle is not a valid EFI_HANDLE,thenEFI_INVALID_PARAMETER
is returned. If ControllerHandle is not NULL,andControllerHandle is not a valid
EFI_HANDLE,thenEFI_INVALID_PARAMETER is returned. If Protocol is NULL,then
EFI_INVALID_PARAMETER is returned.
If the interface specified by Protocol is not supported by the handle specified by Handle,then
EFI_NOT_FOUND is returned.
If the interface specified by Protocol is supported by the handle specified by Handle,thena
check is made to see if the protocol instance specified by Protocol and Handle was opened by
AgentHandle and ControllerHandle with OpenProtocol()
. If the protocol instance
was not opened by AgentHandle and ControllerHandle,thenEFI_NOT_FOUND is
returned. If the protocol instance was opened by AgentHandle and ControllerHandle,
then all of those references are removed from the handle database, and EFI_SUCCESS is returned.
Status Codes Returned
EFI_SUCCESS The protocol instance was closed.
EFI_INVALID_PARAMETER
Handle is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETER
AgentHandle is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETER
ControllerHandle is not NULL and ControllerHandle is
not a valid
EFI_HANDLE.
EFI_INVALID_PARAMETER
Protocol is NULL.
EFI_NOT_FOUND
Handle does not support the protocol specified by Protocol.
EFI_NOT_FOUND
The protocol interface specified by
Handle and Protocol is not
currently open by
AgentHandle and ControllerHandle.