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

Vea también

ExitProcess

ExitThread

Funciones de proceso y subproceso

Procesos

TerminateProcess

Finalización de un proceso

WinMain