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 Store 應用程式支援此函式。

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)
程式庫 Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib
Dll Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll

另請參閱

ExitThread

GetExitCodeProcess

OpenThread

處理序和執行緒函式

TerminateThread

終止線程