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
0FPO frame
FRAME_NONFPO
3Non-FPO frame
FRAME_TRAP
1Trap frame
FRAME_TSS
2TSS 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.