SetProcessDynamicEHContinuationTargets-Funktion (processthreadsapi.h)
Legt dynamische Fortsetzungsziele für die Ausnahmebehandlung für den angegebenen Prozess fest.
Syntax
BOOL SetProcessDynamicEHContinuationTargets(
HANDLE Process,
USHORT NumberOfTargets,
PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets
);
Parameter
Process
Ein Handle für den Prozess. Dieses Handle muss über das zugriffsrecht PROCESS_SET_INFORMATION verfügen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.
NumberOfTargets
Gibt die Anzahl der festzulegenden Fortsetzungsziele für die dynamische Ausnahmebehandlung an.
Targets
Ein Zeiger auf ein Array dynamischer Fortsetzungsziele für die Ausnahmebehandlung. Weitere Informationen zu dieser Struktur finden Sie unter PROCESS_DYNAMIC_EH_CONTINUATION_TARGET.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Beachten Sie, dass selbst wenn die Funktion fehlschlägt, ein Teil der angegebenen Fortsetzungsziele möglicherweise erfolgreich verarbeitet wurde. Der Aufrufer muss die Flags in jedem einzelnen Fortsetzungsziel überprüfen, das über Targets angegeben wird, um festzustellen, ob es erfolgreich verarbeitet wurde.
Hinweise
Wenn der hardwarebasierte Stapelschutz im Benutzermodus für einen Prozess aktiviert ist, wird beim Aufrufen von APIs, die den Ausführungskontext eines Threads wie "RtlRestoreContext " und "SetThreadContext" ändern, die Überprüfung für den im neuen Ausführungskontext angegebenen Anweisungszeiger ausgeführt.
RtlRestoreContext wird während des Entladungsvorgangs der STRUKTURIERTEn Ausnahmebehandlung (SEH ) verwendet, um sich auf den Zielframe zu entladen, der den __except
Block enthält, und um die Ausführung von Code am Fortsetzungsziel zu starten.
Daher muss das Betriebssystem die Befehlsadressen aller gültigen Fortsetzungsziele kennen, um den Entladungsvorgang über RtlRestoreContext zu ermöglichen.
Bei kompilierten Binärdateien wird die Liste der Fortsetzungsziele vom Linker generiert und im binären Image gespeichert.
Für dynamischen Code müssen die Fortsetzungsziele mithilfe von SetProcessDynamicEHContinuationTargets angegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 Build 20348 |
Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
Kopfzeile | processthreadsapi.h |