Related definitions, Description, Status codes returned – Intel Extensible Firmware Interface User Manual
Page 135

Services — Boot Services
Version 1.10
12/01/02
5-37
Related Definitions
//*******************************************************
//EFI_HANDLE
//*******************************************************
typedef VOID
*EFI_HANDLE;
//*******************************************************
//EFI_GUID
//*******************************************************
typedef struct {
UINT32
Data1;
UINT16
Data2;
UINT16
Data3;
UINT8
Data4[8];
} EFI_GUID;
//*******************************************************
//EFI_INTERFACE_TYPE
//*******************************************************
typedef enum {
EFI_NATIVE_INTERFACE
} EFI INTERFACE_TYPE;
Description
The
InstallProtocolInterface()
function installs a protocol interface (a GUID/Protocol
Interface structure pair) on a device handle. The same GUID cannot be installed more than once
onto the same handle. If the same GUID is installed more than once onto the same handle, then the
results are not predictable.
Installing a protocol interface allows other components to locate the
Handle
, and the interfaces
installed on it. A protocol interface is always installed at the head of the device handle’s queue.
When a protocol interface is installed, the firmware calls all notification functions that have
registered to wait for the installation of
Protocol
. For more information, see the
function description.
Status Codes Returned
EFI_SUCCESS
The protocol interface was installed.
EFI_OUT_OF_RESOURCES
Space for a new handle could not be allocated.
EFI_INVALID_PARAMETER
One of the parameters has an invalid value.