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) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |