_spawnvpe, _wspawnvpe
Tworzy i uruchamia nowy proces.
![]() |
---|
Tego API nie można używać w aplikacjach korzystających ze środowiska wykonawczego Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /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
Tryb wykonywania dla procesu wywołującegocmdname
Ścieżka pliku do wykonaniaargv
Tablica wskaźników do argumentów.Argument argv[0] jest zazwyczaj wskaźnikiem do ścieżki w trybie rzeczywistym lub nazwy programu w trybie chronionym i argv[1] przez argv[n] są wskaźnikami do ciągów znaków tworzących nowe listy argumentów.Argument argv[n + 1] musi być NULL wskaźnikiem, aby zaznaczyć koniec listy argumentów.envp
Tablica wskaźników do ustawienia środowiska
Wartość zwracana
Wartość zwrócona przez synchroniczny _spawnvpe lub _wspawnvpe (_P_WAIT określony dla mode) jest stanem wyjścia nowego procesu.Wartość zwrócona przez synchroniczny _spawnvpe lub _wspawnvpe (_P_NOWAIT lub _P_NOWAITO określony dla mode) jest stanem wyjścia procedury obsługi procesu.Stanem wyjścia wynosi 0, jeżeli proces zakończył się normalnie.Możesz ustawić stan wyjścia na wartość różną od zera jeśli zduplikowany proces w szczególności wywołuje exit rutynę z argumentem różnym od zera.Jeśli nowy proces nie ustawi jawnie stanu wyjścia na dodatni, dodatki stan wyjścia wskazuje nietypowe wyjście z porzuceniem lub przerwaniem.Zwracana wartość –1 wskazuje błąd (nowy proces nie jest uruchomiony).W tym przypadku errno jest ustawiona na jedną z następujących wartości:
E2BIG
Argument w postaci listy przekracza 1024 bajtyEINVAL
Nieprawidłowy argument modeENOENT
Nie znaleziono pliku lub ścieżkiENOEXEC
Określony plik nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnegoENOMEM
Za mało dostępnej pamięci do wykonania nowego procesu
Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz _doserrno, errno, _sys_errlist, and _sys_nerr.
Uwagi
Każda z tych funkcji tworzy i uruchamia nowy proces, przekazując tablicę wskaźników do argumentów wiersza polecenia oraz tablicę wskaźników do ustawienia środowiska.Te funkcje używa PATH zmiennej środowiskowej, aby znaleźć plik do wykonania.
Te funkcje sprawdzają poprawność swoich parametrów.Jeśli cmdname lub argv jest wskaźnikiem typu null, lub jeżeli argv wskazuje na wskaźnik typu null, lub argv[0] jest pustym ciągiem, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, te funkcje ustawiają errno jako EINVAL i zwracają -1.Żaden nowy proces nie jest rozprzestrzeniony.
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_spawnvpe |
<stdio.h> lub <process.h> |
_wspawnvpe |
<stdio.h> lub <wchar.h> |
Dodatkowe informacje o zgodności – zobacz: Zgodność.
Przykład
Zobacz przykład w Funkcjach _spawn, _wspawn.