Compartilhar via


Função SetProcessDynamicEHContinuationTargets (processthreadsapi.h)

Define destinos de continuação de tratamento de exceção dinâmica para o processo especificado.

Sintaxe

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

Parâmetros

Process

Um identificador para o processo. Esse identificador deve ter o acesso PROCESS_SET_INFORMATION correto. Para obter mais informações, consulte Segurança do Processo e Direitos de Acesso.

NumberOfTargets

Fornece o número de destinos de continuação de tratamento de exceção dinâmica a serem definidos.

Targets

Um ponteiro para uma matriz de destinos de continuação de tratamento de exceção dinâmica. Para obter mais informações sobre essa estrutura, consulte PROCESS_DYNAMIC_EH_CONTINUATION_TARGET.

Valor de retorno

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. Observe que, mesmo que a função falhe, uma parte dos destinos de continuação fornecidos pode ter sido processada com êxito. O chamador precisa verificar os sinalizadores em cada destino de continuação individual especificado por meio de Destinos para determinar se ele foi processado com êxito.

Observações

Se o Stack Protection imposto por hardware do modo de usuário estiver habilitado para um processo, ao chamar APIs que modificam o contexto de execução de um thread, como RtlRestoreContext e SetThreadContext, a validação será executada no Ponteiro de Instrução especificado no novo contexto de execução. RtlRestoreContext é usado durante o desenrolamento da exceção SEH ( Tratamento de Exceções Estruturadas ) para descontrair o quadro de destino que contém o __except bloco e começar a executar o código no destino de continuação. Portanto, o sistema operacional precisa saber os endereços de instrução de todos os destinos de continuação válidos para permitir a operação de desenrolamento por meio de RtlRestoreContext. Para binários compilados, a lista de destinos de continuação é gerada pelo vinculador e armazenada na imagem binária. Para código dinâmico, os destinos de continuação precisam ser especificados usando SetProcessDynamicEHContinuationTargets.

Requirements

Requirement Value
Cliente mínimo suportado Windows 10 Build 20348
Servidor mínimo compatível Windows 10 Build 20348
Header processthreadsapi.h
Library kernel32. Lib