MdeModulePkg[all]  0.98
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LoadPe32Image.h File Reference

Data Structures

struct  _EFI_PE32_IMAGE_PROTOCOL
 

Macros

#define PE32_IMAGE_PROTOCOL_GUID   {0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }}
 
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE   0x00
 
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION   0x01
 
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION   0x02
 

Typedefs

typedef struct
_EFI_PE32_IMAGE_PROTOCOL 
EFI_PE32_IMAGE_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * LOAD_PE_IMAGE )(IN EFI_PE32_IMAGE_PROTOCOL *This, IN EFI_HANDLE ParentImageHandle, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN VOID *SourceBuffer, IN UINTN SourceSize, IN EFI_PHYSICAL_ADDRESS DstBuffer, IN OUT UINTN *NumberOfPages, OUT EFI_HANDLE *ImageHandle, OUT EFI_PHYSICAL_ADDRESS *EntryPoint, IN UINT32 Attribute)
 
typedef EFI_STATUS(EFIAPI * UNLOAD_PE_IMAGE )(IN EFI_PE32_IMAGE_PROTOCOL *This, IN EFI_HANDLE ImageHandle)
 

Variables

EFI_GUID gEfiLoadPeImageProtocolGuid
 

Detailed Description

Load Pe32 Image protocol enables loading and unloading EFI images into memory and executing those images. This protocol uses File Device Path to get an EFI image.

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

Macro Definition Documentation

#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION   0x02
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE   0x00
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION   0x01
#define PE32_IMAGE_PROTOCOL_GUID   {0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }}

Typedef Documentation

typedef EFI_STATUS(EFIAPI * LOAD_PE_IMAGE)(IN EFI_PE32_IMAGE_PROTOCOL *This, IN EFI_HANDLE ParentImageHandle, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN VOID *SourceBuffer, IN UINTN SourceSize, IN EFI_PHYSICAL_ADDRESS DstBuffer, IN OUT UINTN *NumberOfPages, OUT EFI_HANDLE *ImageHandle, OUT EFI_PHYSICAL_ADDRESS *EntryPoint, IN UINT32 Attribute)

Loads an EFI image into memory and returns a handle to the image with extended parameters.

Parameters
ThisThe pointer to the LoadPe32Image protocol instance
ParentImageHandleThe caller's image handle.
FilePathThe specific file path from which the image is loaded.
SourceBufferIf not NULL, a pointer to the memory location containing a copy of the image to be loaded.
SourceSizeThe size in bytes of SourceBuffer.
DstBufferThe buffer to store the image.
NumberOfPagesFor input, specifies the space size of the image by caller if not NULL. For output, specifies the actual space size needed.
ImageHandleThe image handle for output.
EntryPointThe image entry point for output.
AttributeThe bit mask of attributes to set for the load PE image.
Return values
EFI_SUCCESSThe image was loaded into memory.
EFI_NOT_FOUNDThe FilePath was not found.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDThe image type is not supported, or the device path cannot be parsed to locate the proper protocol for loading the file.
EFI_OUT_OF_RESOURCESThe image was not loaded due to insufficient memory resources.
EFI_LOAD_ERRORImage was not loaded because the image format was corrupt or not understood.
EFI_DEVICE_ERRORImage was not loaded because the device returned a read error.
EFI_ACCESS_DENIEDImage was not loaded because the platform policy prohibits the image from being loaded. NULL is returned in *ImageHandle.
EFI_SECURITY_VIOLATIONImage was loaded and an ImageHandle was created with a valid EFI_LOADED_IMAGE_PROTOCOL. However, the current platform policy specifies that the image should not be started.
typedef EFI_STATUS(EFIAPI * UNLOAD_PE_IMAGE)(IN EFI_PE32_IMAGE_PROTOCOL *This, IN EFI_HANDLE ImageHandle)

Unload the specified image.

Parameters
ThisThe pointer to the LoadPe32Image protocol instance
ImageHandleThe specified image handle to be unloaded.
Return values
EFI_INVALID_PARAMETERImage handle is NULL.
EFI_UNSUPPORTEDAttempted to unload an unsupported image.
EFI_SUCCESSThe image successfully unloaded.

Variable Documentation

EFI_GUID gEfiLoadPeImageProtocolGuid