Función SetProcessDynamicEHContinuationTargets (processthreadsapi.h)
Establece destinos de continuación de control dinámico de excepciones para el proceso especificado.
Sintaxis
BOOL SetProcessDynamicEHContinuationTargets(
HANDLE Process,
USHORT NumberOfTargets,
PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets
);
Parámetros
Process
Identificador del proceso. Este identificador debe tener el derecho de acceso PROCESS_SET_INFORMATION . Para obtener más información, consulte Derechos de acceso y seguridad de procesos.
NumberOfTargets
Proporciona el número de destinos de continuación de control de excepciones dinámicos que se van a establecer.
Targets
Puntero a una matriz de destinos de continuación de control dinámico de excepciones. Para obtener más información sobre esta estructura, consulte PROCESS_DYNAMIC_EH_CONTINUATION_TARGET.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. Tenga en cuenta que incluso si se produce un error en la función, es posible que se haya procesado correctamente una parte de los destinos de continuación proporcionados. El autor de la llamada debe comprobar las marcas de cada destino de continuación individual especificado a través de Destinos para determinar si se procesó correctamente.
Comentarios
Si la protección de pila aplicada por hardware en modo de usuario está habilitada para un proceso, al llamar a las API que modifican el contexto de ejecución de un subproceso como RtlRestoreContext y SetThreadContext, la validación se realiza en el puntero de instrucción especificado en el nuevo contexto de ejecución.
RtlRestoreContext se usa durante la desenredado de excepciones de Control de excepciones estructurados (SEH) para desenredar en el marco de destino que contiene el __except
bloque y para empezar a ejecutar código en el destino de continuación.
Por lo tanto, el sistema operativo debe conocer las direcciones de instrucción de todos los destinos de continuación válidos para permitir la operación de desenredado a través de RtlRestoreContext.
En el caso de los archivos binarios compilados, el enlazador genera la lista de destinos de continuación y se almacena en la imagen binaria.
Para el código dinámico, los destinos de continuación deben especificarse mediante SetProcessDynamicEHContinuationTargets.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | compilación 20348 de Windows 10 |
Servidor mínimo compatible | compilación 20348 de Windows 10 |
Encabezado | processthreadsapi.h |