Closeprotocol(), Make use of the boot serv – Intel Extensible Firmware Interface User Manual
Page 154

Extensible Firmware Interface Specification
5-56
12/01/02
Version 1.10
CloseProtocol()
Summary
Closes a protocol on a handle that was opened using
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_CLOSE_PROTOCOL) (
IN EFI_HANDLE
Handle,
IN EFI_GUID
*Protocol,
IN EFI_HANDLE
AgentHandle,
IN EFI_HANDLE
ControllerHandle
);
Parameters
Handle
The handle for the protocol interface that was previously opened
with
OpenProtocol()
, and is now being closed.
Protocol
The published unique identifier of the protocol. It is the caller’s
responsibility to pass in a valid GUID. See “Wired For
Management Baseline” for a description of valid GUID values.
AgentHandle
The handle of the agent that is closing the protocol interface.
For agents that follow the EFI Driver Model, this parameter is
the handle that contains the
EFI_DRIVER_BINDING_PROTOCOL
instance that is
produced by the EFI Driver that is opening the protocol
interface. For EFI Applications, this is the image handle of the
EFI Application. For EFI Applications that used
to open the protocol interface, this will
be the image handle of the EFI firmware.
ControllerHandle
If the agent that opened a protocol is a driver that follows the
EFI Driver Model, then this parameter is the controller handle
that required the protocol interface. If the agent does not follow
the EFI Driver Model, then this parameter is optional and may
be
NULL
.