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