_spawnlpe
, _wspawnlpe
Vytvoří a spustí nový proces.
Důležité
Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
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
Režim spuštění pro volající proces.
cmdname
Cesta k souboru, který se má spustit.
arg0
, arg1
... argN
Seznam ukazatelů na argumenty Argument arg0
je obvykle ukazatelem na cmdname
. Argumenty arg1
jsou argN
ukazatele na řetězce znaků, které tvoří nový seznam argumentů. V následujícím argN
příkladu NULL
musí být ukazatel, který označí konec seznamu argumentů.
envp
Pole ukazatelů na nastavení prostředí
Vrácená hodnota
Návratová hodnota ze synchronního _spawnlpe
nebo _wspawnlpe
(_P_WAIT
zadaného pro mode
) je stav ukončení nového procesu. Návratová hodnota z asynchronního _spawnlpe
nebo _wspawnlpe
(_P_NOWAIT
nebo _P_NOWAITO
zadaného pro mode
) je popisovač procesu. Stav ukončení je 0, pokud se proces normálně ukončil. Stav ukončení můžete nastavit na nenulovou hodnotu, pokud vytvářený proces používá k volání exit
rutiny nenulový argument. Pokud nový proces explicitně nenastavil pozitivní stav ukončení, pozitivní stav ukončení značí neobvyklé ukončení způsobené přerušením nebo přerušením. Vrácená hodnota -1 označuje chybu (nový proces není spuštěn). V tomto případě errno
je nastavena na jednu z následujících hodnot.
Hodnota | Popis |
---|---|
E2BIG |
Seznam argumentů překračuje 1024 bajtů. |
EINVAL |
mode argument je neplatný. |
ENOENT |
Soubor nebo cesta se nenašly. |
ENOEXEC |
Zadaný soubor není spustitelný nebo má neplatný formát spustitelného souboru. |
ENOMEM |
K provedení nového procesu není k dispozici dostatek paměti. |
Další informace o těchto a dalších návratových kódech naleznete v tématu , , , a_sys_nerr
. _sys_errlist
_doserrno
errno
Poznámky
Každá z těchto funkcí vytvoří a spustí nový proces, předá každý argument příkazového řádku jako samostatný parametr a předá pole ukazatelů na nastavení prostředí. Tyto funkce používají proměnnou PATH
prostředí k vyhledání souboru, který se má spustit.
Tyto funkce ověřují své parametry. Pokud je buď cmdname
prázdný řetězec nebo arg0
nulový ukazatel, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce jsou nastavené errno
na EINVAL
hodnotu a vrátí hodnotu -1. Není vytvářen žádný nový proces.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
Podívejte se na příklad ve _spawn
funkcích . _wspawn
Viz také
Řízení procesů a prostředí
_spawn
, _wspawn
funkce
abort
atexit
_exec
, _wexec
funkce
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem