Condividi tramite


Funzione SetProcessDynamicEHContinuationTargets (processthreadsapi.h)

Imposta le destinazioni di continuazione per la gestione dinamica delle eccezioni per il processo specificato.

Sintassi

BOOL SetProcessDynamicEHContinuationTargets(
  HANDLE                                  Process,
  USHORT                                  NumberOfTargets,
  PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets
);

Parametri

Process

Handle per il processo. Questo handle deve avere il diritto di accesso PROCESS_SET_INFORMATION . Per altre informazioni, vedere Sicurezza dei processi e diritti di accesso.

NumberOfTargets

Fornisce il numero di destinazioni di continuazione di gestione delle eccezioni dinamiche da impostare.

Targets

Puntatore a una matrice di destinazioni di continuazione per la gestione delle eccezioni dinamiche. Per altre informazioni su questa struttura, vedere PROCESS_DYNAMIC_EH_CONTINUATION_TARGET.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. Si noti che anche se la funzione ha esito negativo, è possibile che sia stata elaborata correttamente una parte delle destinazioni di continuazione fornite. Il chiamante deve controllare i flag in ogni singola destinazione di continuazione specificata tramite Targets per determinare se è stato elaborato correttamente.

Commenti

Se la protezione stack applicata dall'hardware in modalità utente è abilitata per un processo, quando si chiamano LE API che modificano il contesto di esecuzione di un thread, ad esempio RtlRestoreContext e SetThreadContext, la convalida viene eseguita sul puntatore di istruzione specificato nel nuovo contesto di esecuzione. RtlRestoreContext viene usato durante la rimozione delle eccezioni SEH ( Structured Exception Handling ) per la rimozione nel frame di destinazione che contiene il __except blocco e per avviare l'esecuzione del codice nella destinazione di continuazione. Pertanto, il sistema operativo deve conoscere gli indirizzi di istruzioni di tutte le destinazioni di continuazione valide per consentire l'operazione di rimozione tramite RtlRestoreContext. Per i file binari compilati, l'elenco delle destinazioni di continuazione viene generato dal linker e archiviato nell'immagine binaria. Per il codice dinamico, è necessario specificare le destinazioni di continuazione usando SetProcessDynamicEHContinuationTargets.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Intestazione processthreadsapi.h