Поделиться через


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

См. также

ExitProcess

ExitThread

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

Процессы

TerminateProcess

Прекращение процесса

WinMain