_spawnve, _wspawnve
Vytvoří a spustí nový proces.
Důležité |
---|
Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
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
Režim spuštění pro volající proces.cmdname
Cesta souboru, který má být spuštěn.argv
Pole ukazatelů na argumenty.Argument argv[0] 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] až argv[n] jsou ukazatele na znakové řetězce tvořící nový seznam argumentů.Argument argv[n + 1] musí být ukazatel NULL pro označení konce seznamu argumentů.envp
Pole ukazatelů na nastavení prostředí.
Vrácená hodnota
Hodnota vrácená ze synchronního _spawnve nebo _wspawnve (_P_WAIT určený pro mode) je stav ukončení nového procesu.Hodnota vrácená z asynchronního _spawnve nebo _wspawnve (_P_NOWAIT nebo _P_NOWAITO pro mode) je obslužná rutina procesu.Stav ukončení je 0, pokud proces skončil normálně.Můžete nastavit stav ukončení na nenulovou hodnotu, když spuštěný proces konkrétně zavolá rutinu exit s nenulovým argumentem.Pokud nový proces explicitně nenastavil pozitivní koncový stav, označuje pozitivní koncový stav abnormální ukončení zrušením nebo přerušením.Návratová hodnota –1 označuje chybu (není spuštěn nový proces).V tomto případě je errno nastavena na jednu z následujících hodnot.
E2BIG
Seznam argumentů přesahuje 1024 bajtů.EINVAL
Argument mode je neplatný.ENOENT
Soubor nebo cesta nebyla nenalezena.ENOEXEC
Zadaný soubor není spustitelný soubor nebo má neplatný formát spustitelného souboru.ENOMEM
Ke spuštění nového procesu není k dispozici dostatek paměti.
Další informace o těchto a dalších návratových kódech naleznete v části _doserrno, errno, _sys_errlist, and _sys_nerr.
Poznámky
Každá z těchto funkcí vytvoří a spustí nový proces, předá pole ukazatelů do argumentů příkazového řádku a pole ukazatelů do nastavení prostředí.
Tyto funkce ověřují své parametry.Pokud je cmdname nebo argv ukazatel s hodnotou null, nebo pokud argv ukazuje 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 smí provádění pokračovat, tyto funkce nastaví errno na EINVAL a vrátí -1.Není vytvořen žádný nový proces.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_spawnve |
<stdio.h> nebo <process.h> |
_wspawnve |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
Viz příklad v části Funkce _spawn, _wspawn.