_IMAGE_CE_RUNTIME_FUNCTION_ENTRY

This structure contains detailed information about runtime exception processing. _IMAGE_CE_RUNTIME_FUNCTION_ENTRY is used only by ARM and Hitachi microprocessor families. It does not apply to MIPS microprocessors.

typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
  unsigned int FuncStart : 32;
  unsigned int PrologLen : 8;
  unsigned int FuncLen : 22;
  unsigned int ThirtyTwoBit : 1;
  unsigned int ExceptionFlag : 1;
} IMAGE_CE_RUNTIME_FUNCTION_ENTRY,
*PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;

Members

  • FuncStart
    Address of the first instruction in the function. It is the function's entry address.

  • PrologLen
    Length of the prolog in instructions, based on the instruction size indicated in the ThirtyTwoBit flag. The following table shows the possible values for the ThirtyTwoBit flag.

    Flag Value Description
    1 Represents ARM functions each of which consists of 32-bit instructions, or 4 bytes.
    0 Represents THUMB functions each of which consists of 16-bit instructions, or 2 bytes.

    PrologLen is set to 1 for ARM functions, and to 0 for THUMB, SH-3, and SH-4 functions.

    Hence, a prolog with ten ARM instructions would have a PrologLen of 10, indicating 40 bytes. A prolog with ten THUMB instructions would also have a PrologLen of 10, meaning 20 bytes.

  • FuncLen
    Total function length in instructions; see PrologLen, above. A function with 200 ARM instructions would have a FuncLen of 200 (meaning 800 bytes).

  • ThirtyTwoBit
    Size of instructions in a function. This value is one for 32-bit instructions and zero for 16-bit instructions. The FunLen and PrologLen fields use this value to computer the size of a function and prolog.

  • ExceptionFlag**
    Associated exception handler or handler data. When its value is 1, the PDATA_EH is present in the .text section. When the ExceptionFlag is zero, no PDATA_EH is present.

Remarks

The IMAGE_CE_RUNTIME_FUNCTION_ENTRY data structure is also called as PDATA. A table containing these records is stored in a section called .pdata. The .pdata section aids in debugging and exception processing.

In the event that the ExceptionFlag is set, or the FuncLen is set to zero, an additional PDATA_EH structure exists that precedes the function in the .text section. The data record containing this information appears in the .text section, immediately preceding the function, if and only if the ExceptionFlag bit is set. This record is used whenever the function has an associated exception handler or handler data.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: winnt.h.

See Also

PDATA_EH

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.