_spawnve
, _wspawnve
Tworzy i wykonuje nowy proces.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
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
);
Parametry
mode
Tryb wykonywania dla procesu wywołującego.
cmdname
Ścieżka pliku do wykonania.
argv
Tablica wskaźników do argumentów. Argument argv[0]
jest zwykle wskaźnikiem do ścieżki w trybie rzeczywistym lub nazwy programu w trybie chronionym, a argv[1]
przez argv[n]
to wskaźniki do ciągów znaków tworzących nową listę argumentów. Argument argv[n+1]
musi być wskaźnikiem NULL
, aby oznaczyć koniec listy argumentów.
envp
Tablica wskaźników do ustawień środowiska.
Wartość zwracana
Wartość zwracana z synchronicznego _spawnve
lub _wspawnve
(_P_WAIT
określonego dla mode
) jest stanem zakończenia nowego procesu. Wartość zwracana z asynchronicznego _spawnve
lub _wspawnve
(_P_NOWAIT
lub _P_NOWAITO
określonego dla mode
elementu ) jest dojściem procesu. Stan zakończenia to 0, jeśli proces zakończył się normalnie. Stan wyjścia można ustawić na wartość niezerową, jeśli proces zduplikowany wywołuje exit
procedurę z argumentem niezerowym. Jeśli nowy proces nie ustawił jawnie pozytywnego stanu zakończenia, dodatni stan zakończenia wskazuje nietypowe wyjście z przerwania lub przerwania. Wartość zwracana -1 wskazuje błąd (nowy proces nie został uruchomiony). W tym przypadku errno
parametr jest ustawiony na jedną z następujących wartości.
Wartość | Opis |
---|---|
E2BIG |
Lista argumentów przekracza 1024 bajty. |
EINVAL |
mode argument jest nieprawidłowy. |
ENOENT |
Nie można odnaleźć pliku lub ścieżki. |
ENOEXEC |
Określony plik nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnego. |
ENOMEM |
Za mało pamięci do wykonania nowego procesu. |
Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Każda z tych funkcji tworzy i wykonuje nowy proces, przekazując tablicę wskaźników do argumentów wiersza polecenia i tablicę wskaźników do ustawień środowiska.
Te funkcje weryfikują swoje parametry. Jeśli element cmdname
lub argv
jest wskaźnikiem o wartości null lub wskazuje argv
wskaźnik o wartości null lub argv[0]
jest pustym ciągiem, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, te funkcje mają wartość errno
EINVAL
i zwracają wartość -1. Nie jest duplikowany żaden nowy proces.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_spawnve |
<stdio.h> lub <process.h> |
_wspawnve |
<stdio.h> lub <wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład w _spawn
_wspawn
temacie , functions.
Zobacz też
Kontrola procesu i środowiska
_spawn
, _wspawn
funkcje
abort
atexit
_exec
, _wexec
funkcje
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem