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

Page 135

Advertising
background image

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

RegisterProtocolNotify()

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.

Advertising