_spawnve, _wspawnve
Создает и выполняет новый процесс.
Важно |
---|
Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
intptr_t _spawnve(
int mode,
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wspawnve(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Параметры
mode
Режим выполнения для вызывающего процесса.cmdname
Путь к файлу, в который будет выполняться.argv
Массив указателей на аргументами.Аргумент argv[0] обычно указатель на пути в реальном режиме или к названию программы в защищенном режиме и argv[1], argv[n] указатели символьным строкам формируя новый список аргументов.Аргумент argv[n ] +1 должен быть указателем NULL, чтобы отметить конец списка аргументов.envp
Массив указателей на параметры среды.
Возвращаемое значение
Возвращаемое значение синхронного из _spawnve или _wspawnve (_P_WAIT ), указанного параметром mode нового выхода состояние процесса.Возвращаемое значение в асинхронном _spawnve или _wspawnve (_P_NOWAIT или _P_NOWAITO, определенные для mode) процессу дескриптор.Состояние выхода значение 0, если процесс завершил обычно.Можно задать состояние выхода в ненулевому значению, если порожданный процесс, вызывает процедуру exit с безнулевым аргументом.Если новый процесс явно укажите положительное состояние выхода, положительное состояние передачи показывает анормалный выход с прекращением прерывания или прерыванием.Возвращаемое значение – 1 указывает на ошибку (не запущен новый процесс).В этом случае errno имеет одно из следующих значений.
E2BIG
Список аргументов превышает 1024 байт.EINVAL
аргумент mode является недопустимым.ENOENT
Файл или путь не найден.ENOEXEC
Указанный файл не исполнительн или имеет недопустимый формат исполняемого файла.ENOMEM
Недостаточно памяти доступен для нового процесса.
Дополнительные сведения об этих и других кодах возврата см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Заметки
Каждая из этих функций создает и выполняет новый процесс, передавая массив указателей на аргументы командной строки и массив указателей на параметры среды.
Эти функции проверяют их параметрами.Если cmdname или argv указатель либо если параметр argv указывает на пустому указателю, или argv[0], является пустой строкой, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, это функциями errno задается значение EINVAL и возвращением -1.Нет новый процесс не порождан.
Требования
Функция |
Требуемый заголовок |
---|---|
_spawnve |
<stdio.h> или <process.h> |
_wspawnve |
<stdio.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Пример
См. пример в разделе _spawn, функции _wspawn.