Función GetExitCodeProcess (processthreadsapi.h)
Recupera el estado de finalización del proceso especificado.
Sintaxis
BOOL GetExitCodeProcess(
[in] HANDLE hProcess,
[out] LPDWORD lpExitCode
);
Parámetros
[in] hProcess
Identificador del proceso.
El identificador debe tener el derecho de acceso PROCESS_QUERY_INFORMATION o PROCESS_QUERY_LIMITED_INFORMATION . Para obtener más información, consulte Derechos de acceso y seguridad de procesos.
Windows Server 2003 y Windows XP: El identificador debe tener el derecho de acceso PROCESS_QUERY_INFORMATION.
[out] lpExitCode
Puntero a una variable para recibir el estado de finalización del proceso. Para obtener más información, vea la sección Comentarios.
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.
Comentarios
Esta función devuelve inmediatamente. Si el proceso no ha finalizado y la función se realiza correctamente, el estado devuelto es STILL_ACTIVE (una macro para STATUS_PENDING (minwinbase.h)). Si el proceso ha finalizado y la función se realiza correctamente, el estado devuelto es uno de los siguientes valores:
- Valor de salida especificado en la función ExitProcess o TerminateProcess .
- Valor devuelto de la función main o WinMain del proceso.
- Valor de excepción de una excepción no controlada que provocó que el proceso finalizara.
Importante
La función GetExitCodeProcess devuelve un código de error válido definido por la aplicación solo después de que finalice el subproceso. Por lo tanto, una aplicación no debe usar STILL_ACTIVE (259) como código de error (STILL_ACTIVE es una macro para STATUS_PENDING (minwinbase.h)). Si un subproceso devuelve STILL_ACTIVE (259) como código de error, las aplicaciones que prueban ese valor podrían interpretarla para indicar que el subproceso todavía está en ejecución y seguir probando la finalización del subproceso una vez finalizado el subproceso, lo que podría poner la aplicación en un bucle infinito.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | processthreadsapi.h (incluya Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |