Compartir a través de


Función GetExitCodeThread (processthreadsapi.h)

Recupera el estado de finalización del subproceso especificado.

Sintaxis

BOOL GetExitCodeThread(
  [in]  HANDLE  hThread,
  [out] LPDWORD lpExitCode
);

Parámetros

[in] hThread

Identificador del subproceso.

El identificador debe tener el derecho de acceso THREAD_QUERY_INFORMATION o THREAD_QUERY_LIMITED_INFORMATION . Para obtener más información, consulte Derechos de acceso y seguridad de subprocesos.

Windows Server 2003 y Windows XP: El identificador debe tener el derecho de acceso THREAD_QUERY_INFORMATION .

[out] lpExitCode

Puntero a una variable para recibir el estado de finalización del subproceso. 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 subproceso especificado no ha finalizado y la función se realiza correctamente, el estado devuelto es STILL_ACTIVE. Si el subproceso ha finalizado y la función se realiza correctamente, el estado devuelto es uno de los valores siguientes:

  • Valor de salida especificado en la función ExitThread o TerminateThread .
  • Valor devuelto de la función de subproceso.
  • Valor de salida del proceso del subproceso.
Importante La función GetExitCodeThread 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. Si un subproceso devuelve STILL_ACTIVE (259) como código de error, las aplicaciones que prueban este valor podrían interpretarlo para indicar que el subproceso todavía se está ejecutando 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. Para evitar este problema, los autores de las llamadas deben llamar a la función GetExitCodeThread solo después de que se haya confirmado que el subproceso se ha cerrado. Use la función WaitForSingleObject con una duración de espera de cero para determinar si se ha cerrado un subproceso.
 
Windows Phone 8.1: esta función es compatible con las aplicaciones de Windows Phone Store en Windows Phone 8.1 y versiones posteriores.

Windows 8.1 y Windows Server 2012 R2: esta función es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y versiones posteriores.

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 (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib; WindowsPhoneCore.lib en Windows Phone 8.1
Archivo DLL Kernel32.dll; KernelBase.dll en Windows Phone 8.1

Consulte también

ExitThread

GetExitCodeProcess

OpenThread

Funciones de proceso y subproceso

TerminateThread

Terminación de un subproceso