Freigeben über


RtlUnwindEx-Funktion (winnt.h)

Initiiert eine Abwicklung von Prozeduraufrufframes.

Syntax

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
);

Parameter

[in, optional] TargetFrame

Ein Zeiger auf den Aufrufrahmen, der das Ziel der Entladung ist. Wenn dieser Parameter ist NULL, führt die Funktion eine Exitentladung aus.

[in, optional] TargetIp

Die Fortsetzungsadresse der Entladung. Dieser Parameter wird ignoriert, wenn TargetFrame ist NULL.

[in, optional] ExceptionRecord

Ein Zeiger auf eine EXCEPTION_RECORD-Struktur .

[in] ReturnValue

Ein Wert, der im Rückgaberegister der Ganzzahlfunktion platziert werden soll, bevor die Ausführung fortgesetzt wird.

[in] ContextRecord

Ein Zeiger auf eine CONTEXT-Struktur , die den Kontext während des Entladungsvorgangs speichert.

[in, optional] HistoryTable

Ein Zeiger auf die Tabelle des Entladungsverlaufs. Diese Struktur ist prozessorspezifisch. Definitionen dieser Struktur finden Sie unter Winternl.h.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

Die FRAME_POINTERS-Struktur ist wie folgt definiert:

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

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile winnt.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CONTEXT

EXCEPTION_RECORD

In VBS-Enclaves verfügbare Vertdll-APIs