Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

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.

Syntax


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.

TypeMeaning
FRAME_FPO
0

FPO frame

FRAME_NONFPO
3

Non-FPO frame

FRAME_TRAP
1

Trap frame

FRAME_TSS
2

TSS frame

 

Requirements

Redistributable

DbgHelp.dll 5.1 or later

Header

WinNT.h (include Windows.h)

See also

FunctionTableAccessProc64
STACKFRAME64
SymFunctionTableAccess64

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.