getExitCodeProcess 函数 (processthreadsapi.h)
检索指定进程的终止状态。
语法
BOOL GetExitCodeProcess(
[in] HANDLE hProcess,
[out] LPDWORD lpExitCode
);
参数
[in] hProcess
进程的句柄。
句柄必须具有 PROCESS_QUERY_INFORMATION 或 PROCESS_QUERY_LIMITED_INFORMATION 访问权限。 有关详细信息,请参阅 进程安全和访问权限。
Windows Server 2003 和 Windows XP: 句柄必须具有 PROCESS_QUERY_INFORMATION 访问权限。
[out] lpExitCode
指向用于接收进程终止状态的变量的指针。 有关详细信息,请参阅“备注”。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
此函数立即返回。 如果进程未终止且函数成功,则返回的状态 STILL_ACTIVE (STATUS_PENDING (minwinbase.h) ) 的宏。 如果进程已终止且函数成功,则返回的状态为以下值之一:
- ExitProcess 或 TerminateProcess 函数中指定的退出值。
- 进程的 main 或 WinMain 函数的返回值。
- 导致进程终止的未经处理的异常的异常值。
重要
GetExitCodeProcess 函数仅在线程终止后返回由应用程序定义的有效错误代码。 因此,应用程序不应使用 STILL_ACTIVE (259) ,因为错误代码 (STILL_ACTIVE 是 用于 STATUS_PENDING (minwinbase.h) ) 的宏。 如果线程 返回STILL_ACTIVE (259) 作为错误代码,则测试该值的应用程序可以将该值解释为表示线程仍在运行,并在线程终止后继续测试线程完成情况,这可能会使应用程序进入无限循环。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 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 |
DLL | Kernel32.dll |