winnt.h) (FPO_DATA 结构
表示使用帧指针省略 (FPO) 优化时 x86 计算机上的某个函数的堆栈帧布局。 结构用于定位调用帧的基址。
语法
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;
成员
ulOffStart
函数代码的第一个字节的偏移量。
cbProcSize
函数中的字节数。
cdwLocals
局部变量的数目。
cdwParams
参数的大小(以 DWORD为单位)。
cbProlog
函数 prolog 代码中的字节数。
cbRegs
保存的寄存器数。
fHasSEH
一个变量,指示函数是否使用结构化异常处理。
fUseBP
一个指示是否已分配 EBP 寄存器的变量。
reserved
保留供将来使用。
cbFrame
一个指示帧类型的变量。
类型 | 含义 |
---|---|
|
FPO 框架 |
|
非 FPO 帧 |
|
陷阱框架 |
|
TSS 帧 |
要求
要求 | 值 |
---|---|
Header | winnt.h (包括 Windows.h) |
可再发行组件 | DbgHelp.dll 5.1 或更高版本 |