Getdriverpath(), Func, E the – Intel Extensible Firmware Interface User Manual

Page 269: Serv

Advertising
background image

Protocols

— EFI Driver Model

Version 1.10

12/01/02

9-27

EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL.GetDriverPath()

Summary

Retrieves the device path of the platform override driver for a controller in the system.

Prototype

typedef
EFI_STATUS
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH) (
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL

*This,

IN EFI_HANDLE

ControllerHandle,

IN OUT EFI_DEVICE_PATH_PROTOCOL

**DriverImagePath

);

Parameters

This

A pointer to the

EFI_PLATFORM_DRIVER_OVERRIDE_

PROTOCOL

instance.

ControllerHandle

The device handle of the controller to check if a driver override
exists.

DriverImagePath

On input, a pointer to the previous driver device path returned by

GetDriverPath()

. On output, a pointer to the next driver

device path. Passing in a pointer to

NULL

, will return the first

driver device path for

ControllerHandle

.

Description

This function is used to retrieve a driver device path that is selected in a platform specific manner.
The first driver device path is retrieved by passing in a

DriverImagePath

value that is a pointer

to

NULL

. This will cause the first driver device path to be returned in

DriverImagePath

. On

each successive call, the previous value of

DriverImagePath

must be passed in. If a call to this

function returns a valid driver device path, then

EFI_SUCCESS

is returned. This process is

repeated until

EFI_NOT_FOUND

is returned. If a

DriverImagePath

is passed in that was not

returned on a prior call to this function, then

EFI_INVALID_PARAMETER

is returned. If

ControllerHandle

is not a valid

EFI_HANDLE

, then

EFI_INVALID_PARAMETER

is

returned. The first driver device path has the highest precedence, and the last driver device path has
the lowest precedence. This ordered list of driver device paths is used by a platform specific
component, such as the EFI Boot Manager, to load and start the platform override drivers by using
the EFI boot services

LoadImage()

and

StartImage()

. Each time one of these drivers is

loaded and started, the

DriverLoaded()

service is called.

Advertising