_spawnvp, _wspawnvp
Vytvoří proces a spustí jej.
Důležité |
---|
Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v prostředí Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
intptr_t _spawnvp(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnvp(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parametry
mode
Spuštění režimu pro proces volání.cmdname
Cesta k souboru, který má být proveden.argv
Pole ukazatelů pro 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] prostřednictvím argvn jsou ukazatele do řetězce znaků, které tvoří nový seznam argumentů.Argument argvn + 1] musí být NULL ukazatel na konec seznamu argumentů.
Vrácená hodnota
Hodnota vrácená synchronního _spawnvp nebo _wspawnvp (_P_WAIT určený pro mode) je stav ukončení nový proces.Hodnota vrácená asynchronní _spawnvp nebo _wspawnvp (_P_NOWAIT nebo _P_NOWAITO určený pro mode) je popisovač procesu.Stav ukončení je 0, je-li proces ukončen normálně.Můžete nastavit stav ukončení nenulovou hodnotu, pokud proces konkrétně používá nenulovou argument volání exit rutina.Je-li nový proces stav pozitivní ukončit explicitně nenastavili, označuje stav pozitivní konec abnormálního ukončení přerušení nebo přerušení.Vrácená hodnota –1 označuje chybu (není spuštěn nový proces).V tomto případě errno je nastavena na jednu z následujících hodnot:
E2BIG
Seznam argumentů přesahuje 1024 bajtů.EINVAL
modeargument není platný.ENOENT
Soubor nebo cesta nebyla nalezena.ENOEXEC
Zadaný soubor není spustitelný soubor nebo má neplatný formát spustitelného souboru.ENOMEM
Není dostatek paměti k dispozici spustit nový proces.
Další informace o těchto i jiných návratových kódů naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.
Poznámky
Každá z těchto funkcí vytvoří nový proces a spustí jej a předá argumenty příkazového řádku a použití pole ukazatelů PATH proměnné prostředí, vyhledejte soubor, který chcete spustit.
Tyto funkce ověření jejich parametrů.Pokud cmdname nebo argv je ukazatel s hodnotou null, nebo pokud argv odkazuje na ukazatel s hodnotou null, nebo argv[0] je prázdný řetězec, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametru.Pokud je povoleno zpracování, chcete-li pokračovat, tyto funkce set errno na EINVALa vrátí -1.Je vytvořen žádný nový proces.
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_spawnvp |
<stdio.h> nebo <process.h> |
_wspawnvp |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě, viz Kompatibilita.
Příklad
Viz příklad v _spawn, _wspawn – funkce.