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.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 함수가 실패하더라도 제공된 연속 대상의 일부가 성공적으로 처리되었을 수 있습니다. 호출자는 대상을 통해 지정된 각 개별 연속 대상의 플래그를 검사 성공적으로 처리되었는지 확인해야 합니다.
설명
프로세스에 대해 사용자 모드 하드웨어 적용 스택 보호를 사용하도록 설정한 경우 RtlRestoreContext 및 SetThreadContext와 같은 스레드의 실행 컨텍스트를 수정하는 API를 호출할 때 새 실행 컨텍스트에 지정된 명령 포인터에서 유효성 검사가 수행됩니다.
RtlRestoreContext 는 SEH( 구조적 예외 처리 ) 예외 해제 중에 블록을 포함하는 __except
대상 프레임으로 해제하고 연속 대상에서 코드 실행을 시작하는 데 사용됩니다.
따라서 운영 체제는 RtlRestoreContext를 통해 해제 작업을 허용하기 위해 모든 유효한 연속 대상의 명령 주소를 알고 있어야 합니다.
컴파일된 이진 파일의 경우 연속 대상 목록은 링커에 의해 생성되고 이진 이미지에 저장됩니다.
동적 코드의 경우 SetProcessDynamicEHContinuationTargets를 사용하여 연속 대상을 지정해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
지원되는 최소 서버 | Windows 10 빌드 20348 |
머리글 | processthreadsapi.h |