Funzione GetExitCodeProcess (processthreadsapi.h)

Recupera lo stato di terminazione del processo specificato.

Sintassi

BOOL GetExitCodeProcess(
  [in]  HANDLE  hProcess,
  [out] LPDWORD lpExitCode
);

Parametri

[in] hProcess

Handle per il processo.

L'handle deve avere il diritto di accesso PROCESS_QUERY_INFORMATION o PROCESS_QUERY_LIMITED_INFORMATION . Per altre informazioni, vedere Elaborare diritti di sicurezza e accesso.

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

[out] lpExitCode

Puntatore a una variabile per ricevere lo stato di terminazione del processo. 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 processo non è terminato e la funzione ha esito positivo, lo stato restituito viene STILL_ACTIVE (una macro per STATUS_PENDING (minwinbase.h)). Se il processo è terminato e la funzione ha esito positivo, lo stato restituito è uno dei valori seguenti:

  • Valore di uscita specificato nella funzione ExitProcess o TerminateProcess .
  • Valore restituito dalla funzione main o WinMain del processo.
  • Valore dell'eccezione per un'eccezione non gestita che ha causato l'interruzione del processo.

Importante

La funzione GetExitCodeProcess restituisce un codice di errore valido definito dall'applicazione solo dopo l'interruzione del thread. Pertanto, un'applicazione non deve usare STILL_ACTIVE (259) come codice di errore (STILL_ACTIVE è una macro per STATUS_PENDING (minwinbase.h)). Se un thread restituisce STILL_ACTIVE (259) come codice di errore, le applicazioni che testano tale valore potrebbero interpretarlo in modo da indicare che il thread è ancora in esecuzione e continuare a testare il completamento del thread dopo la chiusura del thread, che potrebbe inserire l'applicazione in un ciclo infinito.

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 (includere Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

ExitProcess

ExitThread

Funzioni di processi e thread

Processi

TerminateProcess

Terminazione di un processo

WinMain