struct RUNTIME_FUNCTION
Aktualisiert: November 2007
Für tabellenbasierte Ausnahmebehandlung ist ein Tabelleneintrag für alle Funktionen erforderlich, durch die Stapelspeicher reserviert oder eine andere Funktion aufgerufen wird (z. B. Funktionen, die keine Endfunktionen sind). Funktionstabelleneinträge haben das folgende Format:
ULONG |
Adresse des Funktionsanfangs |
ULONG |
Adresse des Funktionsendes |
ULONG |
Adresse der Entladeinformationen |
Die RUNTIME_FUNCTION-Struktur muss im Arbeitsspeicher auf DWORD-Grenzen ausgerichtet sein. Alle Adressen sind bildbezogen, d. h. es handelt sich um 32-Bit-Offsets aus der Startadresse des Bildes, das den Funktionstabelleneintrag enthält. Diese Einträge werden sortiert und in den .pdata-Abschnitt eines PE32+-Bildes eingefügt. Damit dynamisch erzeugte Funktionen [JIT-Compiler] unterstützt werden, muss von der Laufzeit RtlInstallFunctionCallback oder RtlAddFunctionTable verwendet werden, damit diese Informationen dem Betriebssystem bereitgestellt werden. Andernfalls kann dies zu einer unzuverlässigen Ausnahmebehandlung und unzuverlässigem Debuggen von Prozessen führen.
Siehe auch
Referenz
Entladedaten für die Ausnahmebehandlung, Debuggerunterstützung