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

Go to the source code of this file.

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 OPTIONAL, IN UINTN SourceSize, IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL, IN OUT UINTN *NumberOfPages OPTIONAL, OUT EFI_HANDLE *ImageHandle, OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL, 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

Definition in file LoadPe32Image.h.

Macro Definition Documentation

◆ EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION

#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION   0x02

Definition at line 19 of file LoadPe32Image.h.

◆ EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE

#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE   0x00

Definition at line 17 of file LoadPe32Image.h.

◆ EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION

#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION   0x01

Definition at line 18 of file LoadPe32Image.h.

◆ PE32_IMAGE_PROTOCOL_GUID

#define PE32_IMAGE_PROTOCOL_GUID    {0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }}

Definition at line 14 of file LoadPe32Image.h.

Typedef Documentation

◆ EFI_PE32_IMAGE_PROTOCOL

Definition at line 21 of file LoadPe32Image.h.

◆ LOAD_PE_IMAGE

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 OPTIONAL, IN UINTN SourceSize, IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL, IN OUT UINTN *NumberOfPages OPTIONAL, OUT EFI_HANDLE *ImageHandle, OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL, 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.

Definition at line 56 of file LoadPe32Image.h.

◆ UNLOAD_PE_IMAGE

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.

Definition at line 83 of file LoadPe32Image.h.