_spawnve, _wspawnve

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 _spawnve(
   int mode,
   const char *cmdname,
   const char *const *argv,
   const char *const *envp
);
intptr_t _wspawnve(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp
);

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.

envp
Array pointer ke pengaturan lingkungan.

Nilai hasil

Nilai pengembalian dari sinkron _spawnve atau _wspawnve (_P_WAIT ditentukan untuk mode) adalah status keluar dari proses baru. Nilai pengembalian dari asinkron _spawnve atau _wspawnve (_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 dan array penunjuk ke pengaturan lingkungan.

Fungsi-fungsi ini memvalidasi parameternya. Jika atau cmdnameargv 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
_spawnve <stdio.h> atau <process.h>
_wspawnve <stdio.h> atau <wchar.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

Lihat contoh dalam _spawnfungsi , _wspawn .

Baca juga

Kontrol proses dan lingkungan
_spawn, _wspawn fungsi
abort
atexit
_exec, _wexec fungsi
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem