TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Guid/EventGroup.h>
#include <Protocol/DeferredImageLoad.h>
#include <Protocol/FirmwareVolume2.h>
#include <Protocol/DxeSmmReadyToLock.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/DevicePathLib.h>
#include <Library/DebugLib.h>
#include <Library/UefiLib.h>
#include <Library/ReportStatusCodeLib.h>
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) |
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.
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.
[in] | File | This is a pointer to the device path of the file that is being dispatched. This will optionally be used for logging. |
[in] | BootPolicy | A boot policy that was used to call LoadImage() UEFI service. |
EFI_SUCCESS | The file is not 3rd party image and can be loaded immediately. |
EFI_ACCESS_DENIED | The file is 3rd party image and needs deferred. |
Definition at line 314 of file Defer3rdPartyImageLoad.c.
VOID Defer3rdPartyImageLoadInitialize | ( | VOID | ) |
Installs DeferredImageLoad Protocol and listens EndOfDxe event.
Definition at line 379 of file Defer3rdPartyImageLoad.c.
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.
[in] | This | Points to this instance of the EFI_DEFERRED_IMAGE_LOAD_PROTOCOL. |
[in] | ImageIndex | Zero-based index of the deferred index. |
[out] | ImageDevicePath | On return, points to a pointer to the device path of the image. The device path should not be freed by the caller. |
[out] | Image | On 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] | ImageSize | On return, the size of the image, or 0 if the image is not available. |
[out] | BootOption | On return, points to TRUE if the image was intended as a boot option or FALSE if it was not intended as a boot option. |
EFI_SUCCESS | Image information returned successfully. |
EFI_NOT_FOUND | ImageIndex does not refer to a valid image. |
EFI_INVALID_PARAMETER | ImageDevicePath is NULL or Image is NULL or ImageSize is NULL or BootOption is NULL. |
Definition at line 184 of file Defer3rdPartyImageLoad.c.