_spawnvpe, _wspawnvpe
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 _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 spuštění pro volající proces.cmdname
Cesta k souboru, který má být spuštěnargv
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 _spawnvpe nebo _wspawnvpe (_P_WAIT určený pro mode) je stav ukončení nového procesu.Hodnota vrácená z asynchronního _spawnvpe nebo _wspawnvpe (_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 nenalezenyENOEXEC
Zadaný soubor není spustitelný soubor nebo má neplatný formát spustitelného souboruENOMEM
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 viz _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 používají proměnnou prostředí PATH pro vyhledání soubor, který spustí.
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í |
---|---|
_spawnvpe |
<stdio.h> nebo <process.h> |
_wspawnvpe |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
Viz příklad v části Funkce _spawn, _wspawn.