Поделиться через


Функция SetProcessDynamicEHContinuationTargets (processthreadsapi.h)

Задает целевые объекты продолжения динамической обработки исключений для указанного процесса.

Синтаксис

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

Параметры

Process

Дескриптор процесса. Этот дескриптор должен иметь право доступа PROCESS_SET_INFORMATION . Дополнительные сведения см. в разделе Обработка прав на безопасность и доступ.

NumberOfTargets

Предоставляет количество целевых объектов продолжения динамической обработки исключений для задания.

Targets

Указатель на массив целевых объектов продолжения динамической обработки исключений. Дополнительные сведения об этой структуре см. в разделе PROCESS_DYNAMIC_EH_CONTINUATION_TARGET.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Обратите внимание, что даже в случае сбоя функции часть предоставленных целевых объектов продолжения может быть успешно обработана. Вызывающий объект должен проверка флаги в каждом отдельном целевом объекте продолжения, заданном в разделе Целевые объекты, чтобы определить, была ли она успешно обработана.

Комментарии

Если для процесса включена аппаратно-активная защита стека в пользовательском режиме, при вызове API, которые изменяют контекст выполнения потока, например RtlRestoreContext и SetThreadContext, проверка выполняется для указателя инструкции, указанного в новом контексте выполнения. RtlRestoreContext используется во время очистки исключения структурированной обработки исключений (SEH) для очистки целевого кадра, содержащего __except блок, и для запуска выполнения кода в целевом объекте продолжения. Поэтому операционная система должна знать адреса инструкций всех допустимых целевых объектов продолжения, чтобы разрешить операцию очистки через RtlRestoreContext. Для скомпилированных двоичных файлов список целевых объектов продолжения создается компоновщиком и сохраняется в двоичном образе. Для динамического кода целевые объекты продолжения необходимо указать с помощью SetProcessDynamicEHContinuationTargets.

Требования

Требование Значение
Минимальная версия клиента сборка Windows 10 20348
Минимальная версия сервера сборка Windows 10 20348
Верхняя часть processthreadsapi.h