FPO_DATA Structure

Debug Help Library

FPO_DATA Structure

Represents the stack frame layout for a function on an x86 computer when frame pointer omission (FPO) optimization is used. The structure is used to locate the base of the call frame.

typedef struct _FPO_DATA {
DWORD ulOffStart;
DWORD cbProcSize;
DWORD cdwLocals;
WORD cdwParams;
WORD cbProlog :8;
WORD cbRegs :3;
WORD fHasSEH :1;
WORD fUseBP :1;
WORD reserved :1;
WORD cbFrame :2; } FPO_DATA,
*PFPO_DATA;

Members

ulOffStart

The offset of the first byte of the function code.

cbProcSize

The number of bytes in the function.

cdwLocals

The number of local variables.

cdwParams

The size of the parameters, in DWORDs.

cbProlog

The number of bytes in the function prolog code.

cbRegs

The number of registers saved.

fHasSEH

A variable that indicates whether the function uses structured exception handling.

fUseBP

A variable that indicates whether the EBP register has been allocated.

reserved

Reserved for future use.

cbFrame

A variable that indicates the frame type.

Type Meaning

FRAME_FPO
0

FPO frame

FRAME_NONFPO
3

Non-FPO frame

FRAME_TRAP
1

Trap frame

FRAME_TSS
2

TSS frame

Requirements

Redistributable

Requires DbgHelp.dll 5.1 or later.

Header

Declared in Winnt.h; include Windows.h.

See Also

FunctionTableAccessProc64
STACKFRAME64
SymFunctionTableAccess64


Send comments about this topic to Microsoft

Build date: 9/25/2007

© 2007 Microsoft Corporation. All rights reserved.