TianoCore EDK2 master
Loading...
Searching...
No Matches
Defer3rdPartyImageLoad.h File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI GetDefferedImageInfo (IN EFI_DEFERRED_IMAGE_LOAD_PROTOCOL *This, IN UINTN ImageIndex, OUT EFI_DEVICE_PATH_PROTOCOL **ImageDevicePath, OUT VOID **Image, OUT UINTN *ImageSize, OUT BOOLEAN *BootOption)
 
EFI_STATUS Defer3rdPartyImageLoad (IN CONST EFI_DEVICE_PATH_PROTOCOL *File, IN BOOLEAN BootPolicy)
 
VOID Defer3rdPartyImageLoadInitialize (VOID)
 

Detailed Description

Implement defer image load services for user identification in UEFI2.2.

Copyright (c) 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Defer3rdPartyImageLoad.h.

Function Documentation

◆ Defer3rdPartyImageLoad()

EFI_STATUS Defer3rdPartyImageLoad ( IN CONST EFI_DEVICE_PATH_PROTOCOL File,
IN BOOLEAN  BootPolicy 
)

Defer the 3rd party image load and installs Deferred Image Load Protocol.

Parameters
[in]FileThis is a pointer to the device path of the file that is being dispatched. This will optionally be used for logging.
[in]BootPolicyA boot policy that was used to call LoadImage() UEFI service.
Return values
EFI_SUCCESSThe file is not 3rd party image and can be loaded immediately.
EFI_ACCESS_DENIEDThe file is 3rd party image and needs deferred.

Definition at line 314 of file Defer3rdPartyImageLoad.c.

◆ Defer3rdPartyImageLoadInitialize()

VOID Defer3rdPartyImageLoadInitialize ( VOID  )

Installs DeferredImageLoad Protocol and listens EndOfDxe event.

Definition at line 379 of file Defer3rdPartyImageLoad.c.

◆ GetDefferedImageInfo()

EFI_STATUS EFIAPI GetDefferedImageInfo ( IN EFI_DEFERRED_IMAGE_LOAD_PROTOCOL This,
IN UINTN  ImageIndex,
OUT EFI_DEVICE_PATH_PROTOCOL **  ImageDevicePath,
OUT VOID **  Image,
OUT UINTN ImageSize,
OUT BOOLEAN *  BootOption 
)

Returns information about a deferred image.

This function returns information about a single deferred image. The deferred images are numbered consecutively, starting with 0. If there is no image which corresponds to ImageIndex, then EFI_NOT_FOUND is returned. All deferred images may be returned by iteratively calling this function until EFI_NOT_FOUND is returned. Image may be NULL and ImageSize set to 0 if the decision to defer execution was made because of the location of the executable image, rather than its actual contents.

Parameters
[in]ThisPoints to this instance of the EFI_DEFERRED_IMAGE_LOAD_PROTOCOL.
[in]ImageIndexZero-based index of the deferred index.
[out]ImageDevicePathOn return, points to a pointer to the device path of the image. The device path should not be freed by the caller.
[out]ImageOn return, points to the first byte of the image or NULL if the image is not available. The image should not be freed by the caller unless LoadImage() has been successfully called.
[out]ImageSizeOn return, the size of the image, or 0 if the image is not available.
[out]BootOptionOn return, points to TRUE if the image was intended as a boot option or FALSE if it was not intended as a boot option.
Return values
EFI_SUCCESSImage information returned successfully.
EFI_NOT_FOUNDImageIndex does not refer to a valid image.
EFI_INVALID_PARAMETERImageDevicePath is NULL or Image is NULL or ImageSize is NULL or BootOption is NULL.

Definition at line 184 of file Defer3rdPartyImageLoad.c.