Функция 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
Header processthreadsapi.h (включая Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2, Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

ExitProcess

ExitThread

Функции процессов и потоков

Процессы

TerminateProcess

Завершение процесса

WinMain