Поделиться через


Функция 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

Адрес продолжения очистки. Этот параметр игнорируется, если targetFrame имеет значение NULL.

[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
Header winnt.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

КОНТЕКСТЕ

EXCEPTION_RECORD

API-интерфейсы Vertdll, доступные в анклавах VBS