Sdílet prostřednictvím


_dupenv_s_dbg _wdupenv_s_dbg

Získáte hodnotu z aktuálního prostředí.Verze _dupenv_s _wdupenv_s , přidělení paměti s _malloc_dbg poskytnout další informace o ladění.

errno_t _dupenv_s_dbg(
   char **buffer,
   size_t *numberOfElements,
   const char *varname,
   int blockType,
   const char *filename,
   int linenumber
);
errno_t _wdupenv_s_dbg(
   wchar_t **buffer,
   size_t * numberOfElements,
   const wchar_t *varname,
   int blockType,
   const char *filename,
   int linenumber
);

Parametry

  • buffer
    Vyrovnávací paměť k ukládání hodnot proměnné.

  • numberOfElements
    Size of buffer.

  • varname
    Název proměnné prostředí.

  • blockType
    Typ bloku paměti požadované: _CLIENT_BLOCK nebo _NORMAL_BLOCK.

  • filename
    Ukazatel myši na název zdrojového souboru nebo NULL.

  • linenumber
    Číslo zdrojového souboru nebo NULL.

Vrácená hodnota

Nula na úspěch, kód chyby při selhání.

Tyto funkce ověřit jejich parametry; Pokud buffer nebo varname je NULL, parametr neplatný popisovač je vyvoláno popsaným v Ověření parametrů.Pokud je povoleno spuštění pokračovat, nastavte funkce errno na EINVAL a vrátit se EINVAL.

Pokud tyto funkce nelze přidělit dostatek paměti, je nastavit buffer na NULL a numberOfElements 0 a návrat ENOMEM.

Poznámky

_dupenv_s_dbg a _wdupenv_s_dbg funkce jsou shodné s _dupenv_s a _wdupenv_s s výjimkou, kdy _DEBUG je definován, tyto funkce použít ladicí verzi MALLOC, _malloc_dbg, přidělení paměti pro hodnotu proměnné prostředí.Informace o ladění funkce _malloc_dbg, viz _malloc_dbg.

Není nutné explicitně volat tyto funkce ve většině případů.Místo toho můžete definovat příznak _CRTDBG_MAP_ALLOC.Při _CRTDBG_MAP_ALLOC je definován, volání do _dupenv_s a _wdupenv_s budou přemapovány na _dupenv_s_dbg a _wdupenv_s_dbg, resp. s blockType nastavena na _NORMAL_BLOCK.Tedy není nutné explicitně volat tyto funkce, pokud chcete označit bloky haldy jako _CLIENT_BLOCK.Další informace o blokování typů viz Typy bloky na ladění haldy.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tdupenv_s_dbg

_dupenv_s_dbg

_dupenv_s_dbg

_wdupenv_s_dbg

Požadavky

Rutina

Požadované záhlaví

_dupenv_s_dbg

<crtdbg.h>

_wdupenv_s_dbg

<crtdbg.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

// crt_dupenv_s_dbg.c
#include  <stdlib.h>
#include <crtdbg.h>

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

Vzorový výstup

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

Ekvivalent v rozhraní .NET Framework

System::Environment::GetEnvironmentVariable

Viz také

Referenční dokumentace

Proces a řízení prostředí

Konstanty životního prostředí

getenv_s _wgetenv_s

_putenv_s _wputenv_s