RtlUnwindEx 函数 (winnt.h)

启动过程调用帧的展开。

语法

NTSYSAPI VOID RtlUnwindEx(
  [in, optional] PVOID                 TargetFrame,
  [in, optional] PVOID                 TargetIp,
  [in, optional] PEXCEPTION_RECORD     ExceptionRecord,
  [in]           PVOID                 ReturnValue,
  [in]           PCONTEXT              ContextRecord,
  [in, optional] PUNWIND_HISTORY_TABLE HistoryTable
);

参数

[in, optional] TargetFrame

指向作为展开目标的调用帧的指针。 如果此参数为 NULL,该函数将执行退出展开。

[in, optional] TargetIp

展开的延续地址。 如果 TargetFrameNULL,则忽略此参数。

[in, optional] ExceptionRecord

指向 EXCEPTION_RECORD 结构的指针。

[in] ReturnValue

在继续执行之前,要放置在整数函数返回寄存器中的值。

[in] ContextRecord

指向在展开操作期间存储上下文的 CONTEXT 结构的指针。

[in, optional] HistoryTable

指向展开历史记录表的指针。 此结构特定于处理器。 有关此结构的定义,请参阅 Winternl.h

返回值

此函数不返回值。

注解

FRAME_POINTERS结构定义如下:

typedef struct _FRAME_POINTERS {
    ULONGLONG MemoryStackFp;
    ULONGLONG BackingStoreFp;
} FRAME_POINTERS, *PFRAME_POINTERS;

要求

要求
目标平台 Windows
标头 winnt.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CONTEXT

EXCEPTION_RECORD

VBS enclave 中可用的 Vertdll API