MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PeCoffGetEntryPointLib.h File Reference

Functions

RETURN_STATUS EFIAPI PeCoffLoaderGetEntryPoint (IN VOID *Pe32Data, OUT VOID **EntryPoint)
 
UINT16 EFIAPI PeCoffLoaderGetMachineType (IN VOID *Pe32Data)
 
VOID *EFIAPI PeCoffLoaderGetPdbPointer (IN VOID *Pe32Data)
 
UINT32 EFIAPI PeCoffGetSizeOfHeaders (IN VOID *Pe32Data)
 
UINTN EFIAPI PeCoffSearchImageBase (IN UINTN Address)
 

Detailed Description

Provides a service to retrieve the PE/COFF entry point from a PE/COFF image.

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

Function Documentation

UINT32 EFIAPI PeCoffGetSizeOfHeaders ( IN VOID Pe32Data)

Returns the size of the PE/COFF headers

Returns the size of the PE/COFF header specified by Pe32Data. If Pe32Data is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
Size of PE/COFF header in bytes, or zero if not a valid image.
RETURN_STATUS EFIAPI PeCoffLoaderGetEntryPoint ( IN VOID Pe32Data,
OUT VOID **  EntryPoint 
)

Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded into system memory with the PE/COFF Loader Library functions.

Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry point in EntryPoint. If the entry point could not be retrieved from the PE/COFF image, then return RETURN_INVALID_PARAMETER. Otherwise return RETURN_SUCCESS. If Pe32Data is NULL, then ASSERT(). If EntryPoint is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
EntryPointThe pointer to entry point to the PE/COFF image to return.
Return values
RETURN_SUCCESSEntryPoint was returned.
RETURN_INVALID_PARAMETERThe entry point could not be found in the PE/COFF image.
UINT16 EFIAPI PeCoffLoaderGetMachineType ( IN VOID Pe32Data)

Returns the machine type of a PE/COFF image.

Returns the machine type from the PE/COFF image specified by Pe32Data. If Pe32Data is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
Machine type or zero if not a valid image.
VOID* EFIAPI PeCoffLoaderGetPdbPointer ( IN VOID Pe32Data)

Returns a pointer to the PDB file name for a PE/COFF image that has been loaded into system memory with the PE/COFF Loader Library functions.

Returns the PDB file name for the PE/COFF image specified by Pe32Data. If the PE/COFF image specified by Pe32Data is not a valid, then NULL is returned. If the PE/COFF image specified by Pe32Data does not contain a debug directory entry, then NULL is returned. If the debug directory entry in the PE/COFF image specified by Pe32Data does not contain a PDB file name, then NULL is returned. If Pe32Data is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
The PDB file name for the PE/COFF image specified by Pe32Data, or NULL if it cannot be retrieved.
UINTN EFIAPI PeCoffSearchImageBase ( IN UINTN  Address)

Returns PE/COFF image base specified by the address in this PE/COFF image.

On DEBUG build, searches the PE/COFF image base forward the address in this PE/COFF image and returns it.

Parameters
AddressAddress located in one PE/COFF image.
Return values
0RELEASE build or cannot find the PE/COFF image base.
othersPE/COFF image base found.