getExitCodeThread 函数 (processthreadsapi.h)

检索指定线程的终止状态。

语法

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

参数

[in] hThread

线程的句柄。

句柄必须具有 THREAD_QUERY_INFORMATIONTHREAD_QUERY_LIMITED_INFORMATION 访问权限。 有关详细信息,请参阅 线程安全和访问权限

Windows Server 2003 和 Windows XP: 句柄必须具有 THREAD_QUERY_INFORMATION 访问权限。

[out] lpExitCode

指向用于接收线程终止状态的变量的指针。 有关详细信息,请参阅“备注”。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

此函数立即返回。 如果指定的线程未终止且函数成功,则返回的状态 为STILL_ACTIVE。 如果线程已终止且函数成功,则返回的状态为以下值之一:

重要GetExitCodeThread 函数仅在线程终止后返回由应用程序定义的有效错误代码。 因此,应用程序不应使用 STILL_ACTIVE (259) 作为错误代码。 如果线程返回 STILL_ACTIVE (259) 作为错误代码,则测试此值的应用程序可能会将其解释为表示线程仍在运行,并在线程终止后继续测试线程完成情况,这可能会使应用程序进入无限循环。 为避免此问题,调用方应仅在确认线程退出后调用 GetExitCodeThread 函数。 使用等待持续时间为零的 WaitForSingleObject 函数来确定线程是否已退出。
 
Windows Phone 8.1:Windows Phone 8.1 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 processthreadsapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib
DLL Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll

另请参阅

ExitThread

GetExitCodeProcess

OpenThread

进程和线程函数

TerminateThread

终止线程