-/*++\r
+/** @file\r
\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-Module Name:\r
- LoadPe32Image.h\r
-\r
-Abstract:\r
Load File protocol.\r
\r
Load file protocol exists to supports the addition of new boot devices,\r
\r
UEFI 2.0 can boot from any device that produces a LoadFile protocol.\r
\r
---*/\r
+Copyright (c) 2006 - 2008, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
\r
#ifndef __LOAD_PE32_IMAGE_H__\r
#define __LOAD_PE32_IMAGE_H__\r
\r
typedef struct _EFI_PE32_IMAGE_PROTOCOL EFI_PE32_IMAGE_PROTOCOL;\r
\r
+/**\r
+\r
+ Loads an EFI image into memory and returns a handle to the image with extended parameters.\r
+\r
+ @param This Calling context\r
+ @param ParentImageHandle The caller's image handle.\r
+ @param FilePath The specific file path from which the image is loaded.\r
+ @param SourceBuffer If not NULL, a pointer to the memory location containing a copy of\r
+ the image to be loaded.\r
+ @param SourceSize The size in bytes of SourceBuffer.\r
+ @param DstBuffer The buffer to store the image.\r
+ @param NumberOfPages For input, specifies the space size of the image by caller if not NULL.\r
+ For output, specifies the actual space size needed.\r
+ @param ImageHandle Image handle for output.\r
+ @param EntryPoint Image entry point for output.\r
+ @param Attribute The bit mask of attributes to set for the load PE image.\r
+\r
+ @retval EFI_SUCCESS The image was loaded into memory.\r
+ @retval EFI_NOT_FOUND The FilePath was not found.\r
+ @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
+ @retval EFI_UNSUPPORTED The image type is not supported, or the device path cannot be\r
+ parsed to locate the proper protocol for loading the file.\r
+ @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient resources.\r
+**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *LOAD_PE_IMAGE) (\r
IN UINT32 Attribute\r
);\r
\r
+/**\r
+\r
+ Unload the specified image.\r
+\r
+ @param This Indicates the calling context.\r
+ @param ImageHandle The specified image handle.\r
+\r
+ @retval EFI_INVALID_PARAMETER Image handle is NULL.\r
+ @retval EFI_UNSUPPORTED Attempt to unload an unsupported image.\r
+ @retval EFI_SUCCESS Image successfully unloaded.\r
+\r
+--*/\r
typedef\r
EFI_STATUS\r
(EFIAPI *UNLOAD_PE_IMAGE) (\r