다음을 통해 공유


FPO_DATA 구조체(winnt.h)

FPO(Frame Pointer Omission) 최적화가 사용될 때 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

함수 프롤로그 코드의 바이트 수입니다.

cbRegs

저장된 레지스터 수입니다.

fHasSEH

함수가 구조적 예외 처리를 사용하는지 여부를 나타내는 변수입니다.

fUseBP

EBP 레지스터가 할당되었는지 여부를 나타내는 변수입니다.

reserved

다음에 사용하도록 예약됩니다.

cbFrame

프레임 형식을 나타내는 변수입니다.

Type 의미
FRAME_FPO
0
FPO 프레임
FRAME_NONFPO
3
비 FPO 프레임
FRAME_TRAP
1
트랩 프레임
FRAME_TSS
2
TSS 프레임

요구 사항

요구 사항
헤더 winnt.h(Windows.h 포함)
재배포 가능 파일 DbgHelp.dll 5.1 이상

추가 정보

FunctionTableAccessProc64

STACKFRAME64

SymFunctionTableAccess64