Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzy i wykonuje nowy proces.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
intptr_t _spawnv(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnv(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parametry
mode
Tryb wykonywania dla procesu wywoływania.
cmdname
Ścieżka pliku do wykonania.
argv
Tablica wskaźników do argumentów. Argument argv[0] jest zwykle wskaźnikiem do ścieżki w trybie rzeczywistym lub nazwy programu w trybie chronionym, a argv[1] przez argv[n] to wskaźniki do ciągów znaków tworzących nową listę argumentów. Argument argv[n+1] musi być wskaźnikiem NULL , aby oznaczyć koniec listy argumentów.
Wartość zwracana
Wartość zwracana z synchronicznego _spawnv lub _wspawnv (_P_WAIT określonego dla mode) jest stanem zakończenia nowego procesu. Wartość zwracana z asynchronicznego _spawnv lub _wspawnv (_P_NOWAIT lub _P_NOWAITO określonego dla modeelementu ) jest dojściem procesu. Stan zakończenia to 0, jeśli proces zakończył się normalnie. Stan wyjścia można ustawić na wartość niezerową, jeśli proces zduplikowany wywołuje exit procedurę z argumentem niezerowym. Jeśli nowy proces nie ustawił jawnie pozytywnego stanu zakończenia, dodatni stan zakończenia wskazuje nietypowe wyjście z przerwania lub przerwania. Wartość zwracana -1 wskazuje błąd (nowy proces nie został uruchomiony). W tym przypadku errno parametr jest ustawiony na jedną z następujących wartości.
| Wartość | Opis |
|---|---|
E2BIG |
Lista argumentów przekracza 1024 bajty. |
EINVAL |
mode argument jest nieprawidłowy. |
ENOENT |
Nie można odnaleźć pliku lub ścieżki. |
ENOEXEC |
Określony plik nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnego. |
ENOMEM |
Za mało pamięci do wykonania nowego procesu. |
Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.
Uwagi
Każda z tych funkcji tworzy i wykonuje nowy proces, przekazując tablicę wskaźników do argumentów wiersza polecenia.
Te funkcje weryfikują swoje parametry. Jeśli element cmdname lub argv jest wskaźnikiem o wartości null lub wskazuje argv wskaźnik o wartości null lub argv[0] jest pustym ciągiem, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, te funkcje mają wartość errno EINVALi zwracają wartość -1. Nie jest duplikowany żaden nowy proces.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
| Procedura | Wymagany nagłówek |
|---|---|
_spawnv |
<stdio.h> lub <process.h> |
_wspawnv |
<stdio.h> lub <wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład w _spawn_wspawn temacie , functions.
Zobacz też
Kontrola procesu i środowiska
_spawn, _wspawn funkcje
abort
atexit
_exec, _wexec funkcje
exit, , _Exit_exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem