Función ExitProcess (processthreadsapi.h)
Finaliza el proceso de llamada y todos sus subprocesos.
Sintaxis
void ExitProcess(
[in] UINT uExitCode
);
Parámetros
[in] uExitCode
Código de salida para el proceso y todos los subprocesos.
Valor devuelto
None
Observaciones
Use la función GetExitCodeProcess para recuperar el valor de salida del proceso. Use la función GetExitCodeThread para recuperar el valor de salida de un subproceso.
Al salir de un proceso, se produce lo siguiente:
- Todos los subprocesos del proceso, excepto el subproceso que realiza la llamada, finalizan su ejecución sin recibir una notificación de DLL_THREAD_DETACH.
- Los estados de todos los subprocesos terminados en el paso 1 se marcan.
- Se llama a las funciones de punto de entrada de todas las bibliotecas de vínculos dinámicos (DLL) cargadas con DLL_PROCESS_DETACH.
- Una vez que todos los archivos DLL adjuntos hayan ejecutado cualquier código de terminación de proceso, la función ExitProcess finaliza el proceso actual, incluido el subproceso que realiza la llamada.
- El estado del subproceso que llama se señala.
- Se cierran todos los identificadores de objeto abiertos por el proceso.
- El estado de finalización del proceso cambia de STILL_ACTIVE al valor de salida del proceso.
- El estado del objeto de proceso se señala, satisfaciendo los subprocesos que habían estado esperando a que finalice el proceso.
Llamar a ExitProcess en un archivo DLL puede provocar errores inesperados en la aplicación o en el sistema. Asegúrese de llamar a ExitProcess desde un archivo DLL solo si sabe qué aplicaciones o componentes del sistema cargarán el archivo DLL y que es seguro llamar a ExitProcess en este contexto.
Salir de un proceso no hace que finalicen los procesos secundarios.
Salir de un proceso no elimina necesariamente el objeto de proceso del sistema operativo. Cuando se cierra el último identificador del proceso, se elimina un objeto de proceso.
Ejemplos
Para obtener un ejemplo, consulte Creación de un proceso secundario con entrada y salida redirigidos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | processthreadsapi.h (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |