Condividi tramite


Funzione GetExitCodeThread (processthreadsapi.h)

Recupera lo stato di terminazione del thread specificato.

Sintassi

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

Parametri

[in] hThread

Handle per il thread.

L'handle deve avere il diritto di accesso THREAD_QUERY_INFORMATION o THREAD_QUERY_LIMITED_INFORMATION . Per altre informazioni, vedere Thread Security and Access Rights.For more information, see Thread Security and Access Rights.

Windows Server 2003 e Windows XP: L'handle deve avere il diritto di accesso THREAD_QUERY_INFORMATION .

[out] lpExitCode

Puntatore a una variabile per ricevere lo stato di terminazione del thread. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Questa funzione restituisce immediatamente. Se il thread specificato non è terminato e la funzione ha esito positivo, lo stato restituito viene STILL_ACTIVE. Se il thread è terminato e la funzione ha esito positivo, lo stato restituito è uno dei valori seguenti:

  • Valore di uscita specificato nella funzione ExitThread o TerminateThread .
  • Valore restituito dalla funzione thread.
  • Valore di uscita del processo del thread.
Importante La funzione GetExitCodeThread restituisce un codice di errore valido definito dall'applicazione solo dopo il termine del thread. Pertanto, un'applicazione non deve usare STILL_ACTIVE (259) come codice di errore. Se un thread restituisce STILL_ACTIVE (259) come codice di errore, le applicazioni che testano questo valore potrebbero interpretarlo per indicare che il thread è ancora in esecuzione e continuare a verificare il completamento del thread dopo che il thread è terminato, che potrebbe inserire l'applicazione in un ciclo infinito. Per evitare questo problema, i chiamanti devono chiamare la funzione GetExitCodeThread solo dopo la conferma dell'uscita del thread. Utilizzare la funzione WaitForSingleObject con una durata di attesa pari a zero per determinare se un thread è stato chiuso.
 
Windows Phone 8.1: questa funzione è supportata per Windows Phone app dello Store in Windows Phone 8.1 e versioni successive.

Windows 8.1 e Windows Server 2012 R2: questa funzione è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e versioni successive.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (include Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib; WindowsPhoneCore.lib in Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll Windows Phone 8.1

Vedi anche

ExitThread

GetExitCodeProcess

OpenThread

Funzioni di processi e thread

TerminateThread

Terminazione di un thread