Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ortam değişkenlerini oluşturur, değiştirir veya kaldırır. Bu işlevler, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren sürümleridir_wputenv_putenv.
Ö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.
için _tputenv_sbkz . Genel metin işlevi eşlemeleri.
Sözdizimi
errno_t _putenv_s(
const char *varname,
const char *value_string
);
errno_t _wputenv_s(
const wchar_t *varname,
const wchar_t *value_string
);
Parametreler
varname
Ortam değişkeni adı.
value_string
Ortam değişkeninin ayarlanacağı değer.
Dönüş değeri
Başarılı olursa 0 veya bir hata kodu döndürür.
Hata koşulları
varname |
value_string |
Dönüş değeri |
|---|---|---|
NULL |
herhangi bir | EINVAL |
| herhangi bir | NULL |
EINVAL |
Hata koşullarından biri oluşursa, bu işlevler Parametre doğrulama bölümünde açıklandığı gibi geçersiz bir parametre işleyicisi çağırır. Yürütmenin devam etmesi için izin verilirse, bu işlevler döndürülerek EINVAL olarak EINVALayarlanırerrno.
Açıklamalar
_putenv_s işlevi yeni ortam değişkenleri ekler veya mevcut ortam değişkenlerinin değerlerini değiştirir. Ortam değişkenleri, bir işlemin yürütüldiği ortamı tanımlar (örneğin, bir programla ilişkilendirilecek kitaplıklar için varsayılan arama yolu). _wputenv_s , öğesinin _putenv_sgeniş karakterli bir sürümüdür; envstring bağımsız değişkeni _wputenv_s geniş karakterli bir dizedir.
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.
Genel metin işlevi eşlemeleri
Sütundaki tchar.h işlev, derleme zamanında tanımlanan karakter kümesine bağlı olarak diğer sütunlardaki işlevle eşler.
tchar.h işlevi |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
|---|---|---|---|
_tputenv_s |
_putenv_s |
_putenv_s |
_wputenv_s |
varname eklenecek veya değiştirilecek ortam değişkeninin adıdır ve value_string değişkenin değeridir. Zaten ortamın bir parçasıysa varname , değeri ile value_stringdeğiştirilir; aksi takdirde, yeni varname değişken ve ortamına value_string eklenir. için value_stringboş bir dize (başka bir ifadeyle"") belirterek bir değişkeni ortamdan kaldırabilirsiniz.
_putenv_s ve _wputenv_s yalnızca geçerli işlemde yerel olan ortamı etkiler; bunları komut düzeyi ortamını değiştirmek için kullanamazsınız. Bu işlevler, işletim sisteminin bir işlem için oluşturduğu ortam "segmenti" üzerinde değil, yalnızca çalışma zamanı kitaplığı tarafından erişilebilen veri yapılarında çalışır. Geçerli işlem sonlandırıldığında ortam, çoğu durumda işletim sistemi düzeyi olan arama işleminin düzeyine geri döner. Ancak, değiştirilen ortam , _execveya systemtarafından _spawnoluşturulan tüm yeni işlemlere geçirilebilir ve bu yeni işlemler ve _wputenv_starafından _putenv_s eklenen tüm yeni öğeleri alır.
Ortam girdisini doğrudan değiştirmeyin; bunun yerine veya _wputenv_s kullanarak _putenv_s değiştirin. Özellikle, genel dizinin öğelerinin doğrudan boşaltılması geçersiz belleğin _environ[] ele alınmasına neden olabilir.
getenvortam _putenv_s tablosuna _wgetenv erişmek için genel değişkeni _environ kullanın ve _wputenv_s kullanın_wenviron. _putenv_sve _wputenv_s ve değerini _wenviron_environ değiştirebilir ve böylece ve bağımsız wmaindeğişkenini main _wenvp olarak geçersiz kılabilirenvp. Bu nedenle, ortam bilgilerini kullanmak _environ veya _wenviron erişmek daha güvenlidir. ve ile genel değişkenlerin ilişkisi _putenv_s hakkında daha fazla bilgi için bkz_environ. , _wenviron._wputenv_s
Not
_putenv_s ve _getenv_s işlev aileleri iş parçacığı açısından güvenli değildir. _getenv_s dizeyi değiştirirken _putenv_s bir dize işaretçisi döndürebilir ve böylece rastgele hatalara neden olabilir. Bu işlevlere yapılan çağrıların eşitlenmiş olduğundan emin olun.
Gereksinimler
| Yordam | Gerekli başlık |
|---|---|
_putenv_s |
<stdlib.h> |
_wputenv_s |
<stdlib.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
uygulamasının nasıl kullanılacağını _putenv_sgösteren bir örnek için bkz getenv_s. , _wgetenv_s.
Ayrıca bkz.
İşlem ve ortam denetimi
getenv, _wgetenv
_searchenv, _wsearchenv