MdeModulePkg/Include/Protocol/LoadPe32Image.h File Reference


Data Structures

struct  _EFI_PE32_IMAGE_PROTOCOL

Defines

#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 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define 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:
This The pointer to the LoadPe32Image protocol instance
ParentImageHandle The caller's image handle.
FilePath The specific file path from which the image is loaded.
SourceBuffer If not NULL, a pointer to the memory location containing a copy of the image to be loaded.
SourceSize The size in bytes of SourceBuffer.
DstBuffer The buffer to store the image.
NumberOfPages For input, specifies the space size of the image by caller if not NULL. For output, specifies the actual space size needed.
ImageHandle The image handle for output.
EntryPoint The image entry point for output.
Attribute The bit mask of attributes to set for the load PE image.
Return values:
EFI_SUCCESS The image was loaded into memory.
EFI_NOT_FOUND The FilePath was not found.
EFI_INVALID_PARAMETER One of the parameters has an invalid value.
EFI_UNSUPPORTED The image type is not supported, or the device path cannot be parsed to locate the proper protocol for loading the file.
EFI_OUT_OF_RESOURCES The image was not loaded due to insufficient memory resources.
EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not understood.
EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.
EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the image from being loaded. NULL is returned in *ImageHandle.
EFI_SECURITY_VIOLATION Image 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:
This The pointer to the LoadPe32Image protocol instance
ImageHandle The specified image handle to be unloaded.
Return values:
EFI_INVALID_PARAMETER Image handle is NULL.
EFI_UNSUPPORTED Attempted to unload an unsupported image.
EFI_SUCCESS The image successfully unloaded.
--


Variable Documentation


Generated on Thu Sep 24 23:30:15 2015 for MdeModulePkg[ALL] by  doxygen 1.5.7.1