Closes a protocol on a handle that was opened using OpenProtocol().
@paramin Handle The handle for the protocol interface that was previously opened
with OpenProtocol(), and is now being closed.
@paramin Protocol The published unique identifier of the protocol.
@paramin AgentHandle The handle of the agent that is closing the protocol interface.
@paramin ControllerHandle If the agent that opened a protocol is a driver that follows the
UEFI Driver Model, then this parameter is the controller handle
that required the protocol interface.
@retval EFI_SUCCESS The protocol instance was closed.
@retval EFI_INVALID_PARAMETER 1) Handle is NULL.
2) AgentHandle is NULL.
3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE.
4) Protocol is NULL.
@retval EFI_NOT_FOUND 1) Handle does not support the protocol specified by Protocol.
2) The protocol interface specified by Handle and Protocol is not
currently open by AgentHandle and ControllerHandle.
Closes a protocol on a handle that was opened using OpenProtocol().
@paramin Handle The handle for the protocol interface that was previously opened with OpenProtocol(), and is now being closed. @paramin Protocol The published unique identifier of the protocol. @paramin AgentHandle The handle of the agent that is closing the protocol interface. @paramin ControllerHandle If the agent that opened a protocol is a driver that follows the UEFI Driver Model, then this parameter is the controller handle that required the protocol interface.
@retval EFI_SUCCESS The protocol instance was closed. @retval EFI_INVALID_PARAMETER 1) Handle is NULL. 2) AgentHandle is NULL. 3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE. 4) Protocol is NULL. @retval EFI_NOT_FOUND 1) Handle does not support the protocol specified by Protocol. 2) The protocol interface specified by Handle and Protocol is not currently open by AgentHandle and ControllerHandle.