X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FInclude%2FProtocol%2FLoadPe32Image.h;fp=MdeModulePkg%2FInclude%2FProtocol%2FLoadPe32Image.h;h=8cf58ecdf47be1da12e1068af4ef6855083d5c92;hb=504214c4870e9183418014634268ce630eb5332a;hp=155604d5df679fa011db2e941338eba955a3445c;hpb=6cc9ca322cdfe8417274e3659437750ee833fb54;p=mirror_edk2.git diff --git a/MdeModulePkg/Include/Protocol/LoadPe32Image.h b/MdeModulePkg/Include/Protocol/LoadPe32Image.h index 155604d5df..8cf58ecdf4 100644 --- a/MdeModulePkg/Include/Protocol/LoadPe32Image.h +++ b/MdeModulePkg/Include/Protocol/LoadPe32Image.h @@ -1,18 +1,5 @@ -/*++ +/** @file -Copyright (c) 2006, 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 -which 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. - -Module Name: - LoadPe32Image.h - -Abstract: Load File protocol. Load file protocol exists to supports the addition of new boot devices, @@ -21,7 +8,16 @@ Abstract: UEFI 2.0 can boot from any device that produces a LoadFile protocol. ---*/ +Copyright (c) 2006 - 2008, 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 +which 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. + +**/ #ifndef __LOAD_PE32_IMAGE_H__ #define __LOAD_PE32_IMAGE_H__ @@ -35,6 +31,30 @@ Abstract: typedef struct _EFI_PE32_IMAGE_PROTOCOL EFI_PE32_IMAGE_PROTOCOL; +/** + + Loads an EFI image into memory and returns a handle to the image with extended parameters. + + @param This Calling context + @param ParentImageHandle The caller's image handle. + @param FilePath The specific file path from which the image is loaded. + @param SourceBuffer If not NULL, a pointer to the memory location containing a copy of + the image to be loaded. + @param SourceSize The size in bytes of SourceBuffer. + @param DstBuffer The buffer to store the image. + @param NumberOfPages For input, specifies the space size of the image by caller if not NULL. + For output, specifies the actual space size needed. + @param ImageHandle Image handle for output. + @param EntryPoint Image entry point for output. + @param Attribute The bit mask of attributes to set for the load PE image. + + @retval EFI_SUCCESS The image was loaded into memory. + @retval EFI_NOT_FOUND The FilePath was not found. + @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. + @retval EFI_UNSUPPORTED The image type is not supported, or the device path cannot be + parsed to locate the proper protocol for loading the file. + @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient resources. +**/ typedef EFI_STATUS (EFIAPI *LOAD_PE_IMAGE) ( @@ -50,6 +70,18 @@ EFI_STATUS IN UINT32 Attribute ); +/** + + Unload the specified image. + + @param This Indicates the calling context. + @param ImageHandle The specified image handle. + + @retval EFI_INVALID_PARAMETER Image handle is NULL. + @retval EFI_UNSUPPORTED Attempt to unload an unsupported image. + @retval EFI_SUCCESS Image successfully unloaded. + +--*/ typedef EFI_STATUS (EFIAPI *UNLOAD_PE_IMAGE) (