Freigeben über


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