Aracılığıyla paylaş


_spawnve, _wspawnve

Yeni bir işlem oluşturur ve yürütür.

Önemli

Bu API, Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

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
);

Parametreler

mode
Bir çağırma işlemi için yürütme modu.

cmdname
Yürütülecek dosyanın yolu.

argv
Bağımsız değişkenlere yönelik işaretçi dizisi. Bağımsız değişken argv[0] genellikle gerçek modda veya korumalı modda program adına yönelik bir işaretçidir ve argv[1] aracılığıyla argv[n] yeni bağımsız değişken listesini oluşturan karakter dizelerinin işaretçileridir. Bağımsız değişken, bağımsız değişken argv[n+1] listesinin sonunu işaretlemek için bir NULL işaretçi olmalıdır.

envp
Ortam ayarlarına yönelik işaretçi dizisi.

Dönüş değeri

Zaman uyumlu _spawnve veya _wspawnve (_P_WAIT için modebelirtilen) dönüş değeri, yeni işlemin çıkış durumudur. Zaman uyumsuz _spawnve veya _wspawnve (_P_NOWAIT veya _P_NOWAITO için modebelirtilen) değerinden döndürülen değer, işlem tutamacıdır. İşlem normal şekilde sonlandırıldıysa çıkış durumu 0 olur. Oluşturulan işlem özel olarak sıfır olmayan bağımsız değişkenle yordamı çağırıyorsa exit çıkış durumunu sıfır olmayan bir değere ayarlayabilirsiniz. Yeni işlem açıkça pozitif çıkış durumu ayarlamadıysa, pozitif çıkış durumu durdurma veya kesme ile anormal bir çıkış olduğunu gösterir. -1 dönüş değeri bir hatayı gösterir (yeni işlem başlatılmaz). Bu durumda, errno aşağıdaki değerlerden birine ayarlanır.

Değer Tanım
E2BIG Bağımsız değişken listesi 1024 baytı aşıyor.
EINVAL mode bağımsız değişkeni geçersiz.
ENOENT Dosya veya yol bulunamadı.
ENOEXEC Belirtilen dosya yürütülebilir değil veya geçersiz yürütülebilir dosya biçimine sahip.
ENOMEM Yeni işlemi yürütmek için yeterli bellek yok.

Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

Bu işlevlerin her biri yeni bir işlem oluşturup yürütür ve bir dizi işaretçiyi komut satırı bağımsız değişkenlerine ve bir işaretçi dizisini ortam ayarlarına geçirir.

Bu işlevler parametrelerini doğrular. Ya da cmdnameargv null işaretçiyse ya da null işaretçiyi işaret ederse argv ya da argv[0] boş bir dizeyse, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler olarak EINVALayarlanır errno ve -1 döndürür. Yeni bir işlem oluşturulmaz.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
_spawnve <stdio.h> veya <process.h>
_wspawnve <stdio.h> veya <wchar.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

içindeki örne _spawnbakın. _wspawn İşlevler.

Ayrıca bkz.

İşlem ve ortam denetimi
_spawn, _wspawn işlevler
abort
atexit
_exec, _wexec işlevler
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem