Sdílet prostřednictvím


_spawnvpe, _wspawnvpe

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 _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
);

Parametry

mode
Režim spouštění pro volání procesu

cmdname
Cesta k souboru, který se má spustit

argv
Pole ukazatelů na argumenty argv[0] Argument je obvykle ukazatel na cestu v reálném režimu nebo na název programu v chráněném režimu a argv[1] prostřednictvím argv[n] jsou ukazatele na řetězce znaků tvořící nový seznam argumentů. argv[n+1] Argument musí být NULL ukazatel pro označení konce seznamu argumentů.

envp
Pole ukazatelů na nastavení prostředí

Vrácená hodnota

Návratová hodnota ze synchronního _spawnvpe nebo _wspawnvpe (_P_WAIT zadaného pro mode) je stav ukončení nového procesu. Návratová hodnota z asynchronního _spawnvpe nebo _wspawnvpe (_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 konkrétně volá rutinu exit s nenulovým argumentem. Pokud nový proces explicitně nenastavil pozitivní stav ukončení, bude pozitivní stav ukončení indikovat abnormální ukončení s 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 nastavená jedna 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 návratových kódech naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.

Poznámky

Každá z těchto funkcí vytvoří a spustí nový proces a předá pole ukazatelů na argumenty příkazového řádku a 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 nebo argv null ukazatel, nebo pokud argv odkazuje na ukazatel null, nebo argv[0] je prázdný řetězec, 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 EINVALhodnotu a vrátí hodnotu -1. Není vytvářen žádný nový proces.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Rutina Požadovaný hlavičkový soubor
_spawnvpe <stdio.h> nebo <process.h>
_wspawnvpe <stdio.h> nebo <wchar.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

Podívejte se na příklad ve _spawnfunkcích . _wspawn

Viz také

abort
atexit
_exec, _wexec funkce
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem