Sdílet prostřednictvím


_spawnvpe, _wspawnvpe

Vytvoří a spustí nový proces.

Důležitá poznámkaDů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ě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 _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 nenalezeny

  • 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 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.

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

abort

atexit

_exec, _wexec – funkce

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem