_spawnlpe
, _wspawnlpe
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 _spawnlpe(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnlpe(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
Parametry
mode
Tryb wykonywania dla procesu wywoływania.
cmdname
Ścieżka pliku do wykonania.
arg0
, , arg1
... argN
Lista wskaźników do argumentów. Argument arg0
jest zazwyczaj wskaźnikiem do cmdname
. Argumenty arg1
za pośrednictwem argN
to wskaźniki do ciągów znaków, które tworzą nową listę argumentów. Po argN
znaku musi istnieć NULL
wskaźnik, aby oznaczyć koniec listy argumentów.
envp
Tablica wskaźników do ustawień środowiska.
Wartość zwracana
Wartość zwracana z synchronicznego _spawnlpe
lub _wspawnlpe
(_P_WAIT
określonego dla mode
) jest stanem zakończenia nowego procesu. Wartość zwracana z asynchronicznego _spawnlpe
lub _wspawnlpe
(_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 używa argumentu niezerowego, aby wywołać procedurę exit
. Jeśli nowy proces nie ustawił jawnie pozytywnego stanu zakończenia, stan zakończenia dodatniego wskazuje nietypowe wyjście spowodowane przez przerwanie lub przerwanie. 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, przekazuje każdy argument wiersza polecenia jako oddzielny parametr i przekazuje tablicę wskaźników do ustawień środowiska. Te funkcje używają zmiennej środowiskowej PATH
do znalezienia pliku do wykonania.
Te funkcje weryfikują swoje parametry. Jeśli ciąg cmdname
lub arg0
jest pustym ciągiem lub wskaźnikiem o wartości null, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, te funkcje mają wartość errno
EINVAL
i zwracają wartość -1. Nie jest duplikowany żaden nowy proces.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<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