Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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