Aracılığıyla paylaş


_dupenv_s, _wdupenv_s

Geçerli ortamı bir değer alır.

Önemli notÖnemli

Bu API, Windows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.

errno_t _dupenv_s(
   char **buffer,
   size_t *numberOfElements,
   const char *varname
);
errno_t _wdupenv_s(
   wchar_t **buffer,
   size_t *numberOfElements,
   const wchar_t *varname
);

Parametreler

  • buffer
    Değişkenin değerini depolamak için arabellek.

  • numberOfElements
    Size of buffer.

  • varname
    Ortam değişkeni adı.

Dönüş Değeri

Başarı, hata durumunda bir hata kodu sıfır.

Bu işlevler, kendi parametrelerini doğrulamak; buffer veya varname olan NULL, açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre doğrulama.Set işlevlerinden yürütülmesine devam etmek için izin verilirse, errno için EINVAL ve EINVAL.

Bu işlevler yeterli bellek ayrılamıyor, bunlar ayarlayın buffer için NULL ve numberOfElements 0, ve ENOMEM.

Notlar

_dupenv_s İşlev için ortam değişkenleri listesini arar varname.Değişkeni varsa, _dupenv_s bir arabellek ayırır ve değişken değerinin arabelleğine kopyalar.İçinde döndürülen arabellek adresi ve uzunluğu buffer ve numberOfElements.Kendisini, arabellek ayırma tarafından _dupenv_s için daha uygun bir alternatif sağlar getenv_s, _wgetenv_s.

[!NOT]

Çağıran program sorumluluk çağırarak belleği boşaltmak için ise free.

Değişken, sonra bulunmadığında, buffer ayarlamak NULL, numberOfElements 0 olarak ayarlanır ve bu durum bir hata koşulu olarak kabul edilir değil çünkü dönüş değeri 0'dır.

Arabellek boyutu ilgilenmiyorsanız geçirebilirsiniz NULL için numberOfElements.

_dupenv_sWindows işletim sistemi büyük/küçük harf duyarlı değildir._dupenv_siçin genel bir değişken tarafından işaret edilen ortam kopyasını kullanan _environ ortama erişmek için.Notlar getenv_s, _wgetenv_s bir tartışma için _environ.

Değer buffer bir kopyası ortam değişkeninin değeri; değiştirmeye ortam üzerinde hiçbir etkisi yoktur.Kullanım _putenv_s, _wputenv_s bir ortam değişkeninin değerini değiştirmek için işlev.

_wdupenv_sgeniş karakter sürümü _dupenv_s; bağımsız değişkenleri _wdupenv_s geniş karakter dizeleridir._wenviron Genel değişkeni bir geniş karakter sürümü olan _environ.Notlar getenv_s, _wgetenv_s ilgili daha fazla bilgi için _wenviron.

Genel metin eşlemeleri yordamına girildi

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlanmamış

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tdupenv_s

_dupenv_s

_dupenv_s

_wdupenv_s

Gereksinimler

Yordamı

Gerekli başlık

_dupenv_s

<stdlib.h>

_wdupenv_s

<stdlib.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_dupenv_s.c
#include  <stdlib.h>

int main( void )
{
   char *pValue;
   size_t len;
   errno_t err = _dupenv_s( &pValue, &len, "pathext" );
   if ( err ) return -1;
   printf( "pathext = %s\n", pValue );
   free( pValue );
   err = _dupenv_s( &pValue, &len, "nonexistentvariable" );
   if ( err ) return -1;
   printf( "nonexistentvariable = %s\n", pValue );
   free( pValue ); // It's OK to call free with NULL
}

Örnek Çıktı

pathext = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.pl
nonexistentvariable = (null)

.NET Framework Eşdeğeri

System::Environment::GetEnvironmentVariable

Ayrıca bkz.

Başvuru

İşlem ve ortam denetimi

Çevresel sabitleri

_dupenv_s_dbg, _wdupenv_s_dbg

getenv_s, _wgetenv_s

_putenv_s, _wputenv_s