_spawnv
, _wspawnv
Membuat dan menjalankan proses baru.
Penting
API ini tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
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
);
Parameter
mode
Mode eksekusi untuk proses panggilan.
cmdname
Jalur file yang akan dijalankan.
argv
Array pointer ke argumen. Argumen argv[0]
biasanya adalah penunjuk ke jalur dalam mode nyata atau ke nama program dalam mode yang dilindungi, dan argv[1]
melalui argv[n]
adalah penunjuk ke string karakter yang membentuk daftar argumen baru. Argumen argv[n+1]
harus berupa NULL
penunjuk untuk menandai akhir daftar argumen.
Nilai hasil
Nilai pengembalian dari sinkron _spawnv
atau _wspawnv
(_P_WAIT
ditentukan untuk mode
) adalah status keluar dari proses baru. Nilai pengembalian dari asinkron _spawnv
atau _wspawnv
(_P_NOWAIT
atau _P_NOWAITO
ditentukan untuk mode
) adalah handel proses. Status keluar adalah 0 jika proses dihentikan secara normal. Anda dapat mengatur status keluar ke nilai bukan nol jika proses yang ditelurkan secara khusus memanggil exit
rutinitas dengan argumen bukan nol. Jika proses baru tidak secara eksplisit menetapkan status keluar positif, status keluar positif menunjukkan keluarnya abnormal dengan batal atau mengganggu. Nilai pengembalian -1 menunjukkan kesalahan (proses baru belum dimulai). Dalam hal ini, errno
diatur ke salah satu nilai berikut.
Nilai | Deskripsi |
---|---|
E2BIG |
Daftar argumen melebihi 1024 byte. |
EINVAL |
mode argumen tidak valid. |
ENOENT |
File atau jalur tidak ditemukan. |
ENOEXEC |
File yang ditentukan tidak dapat dieksekusi atau memiliki format file yang dapat dieksekusi tidak valid. |
ENOMEM |
Tidak tersedia cukup memori untuk menjalankan proses baru. |
Untuk informasi selengkapnya tentang kode pengembalian ini dan lainnya, lihat errno
, , _doserrno
_sys_errlist
, dan _sys_nerr
.
Keterangan
Masing-masing fungsi ini membuat dan menjalankan proses baru, meneruskan array penunjuk ke argumen baris perintah.
Fungsi-fungsi ini memvalidasi parameternya. Jika atau cmdname
argv
adalah penunjuk null, atau jika argv
menunjuk ke penunjuk null, atau argv[0]
merupakan string kosong, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini diatur errno
ke EINVAL
, dan mengembalikan -1. Tidak ada proses baru yang ditelurkan.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_spawnv |
<stdio.h> atau <process.h> |
_wspawnv |
<stdio.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Lihat contoh dalam _spawn
fungsi , _wspawn
.
Lihat juga
Kontrol proses dan lingkungan
_spawn
, _wspawn
fungsi
abort
atexit
_exec
, _wexec
fungsi
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem