_IMAGE_CE_RUNTIME_FUNCTION_ENTRY (Windows CE 5.0)

Send Feedback

This structure contains detailed information about runtime exception processing.

_IMAGE_CE_RUNTIME_FUNCTION_ENTRY is used only by ARM and Renesas 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 and SH-4 functions. Hence, a prolog with 10 ARM instructions would have a PrologLen of 10, indicating 40 bytes. A prolog with 10 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 1 for 32-bit instructions and 0 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 0, 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.

If the ExceptionFlag is set, or if the FuncLen is set to 0, 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 when the function has an associated exception handler or handler data.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: winnt.h.
Link Library: Implemented in winnt.h.

See Also

PDATA Structures | PDATA_EH

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.