Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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.