_putenv_s, _wputenv_s
y
div
eof
not
or
xor
TOC
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

_putenv_s, _wputenv_s

 

Crea, modifica o quita variables de entorno. Se trata de versiones de _putenv, _wputenv que tienen mejoras de seguridad, tal y como se describe en Características de seguridad de CRT.

System_CAPS_importantImportante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas con /ZW.

errno_t _putenv_s(
   const char *name,
   const char *value 
);
errno_t _wputenv_s(
   const wchar_t *name,
   const wchar_t *value
);

name

Nombre de la variable de entorno.

value

Valor en el que se establece la variable de entorno.

Devuelve 0 si se ejecuta correctamente; de lo contrario, devuelve un código de error.

Condiciones de error

Name

value

Valor devuelto

NULL

cualquiera

EINVAL

cualquiera

NULL

EINVAL

Si se produce una de las condiciones de error estas funciones invocan el controlador de parámetros no válidos, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven EINVAL y establecen errno en EINVAL.

La función _putenv_s agrega nuevas variables de entorno o modifica los valores de las existentes. Las variables de entorno definen el entorno en el que se ejecuta un proceso (por ejemplo, la ruta de búsqueda predeterminada para vincular bibliotecas a un programa). _wputenv_s es una versión con caracteres anchos de _putenv_s; el argumento envstring para _wputenv_s es una cadena de caracteres anchos.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tputenv_s

_putenv_s

_putenv_s

_wputenv_s

name es el nombre de la variable de entorno que se va a agregar o modificar y value es el valor de la variable. Si name ya forma parte del entorno, su valor se sustituye por value; de lo contrario, la nueva variable name y su valor value se agregan al entorno. Una variable se puede quitar del entorno especificando una cadena vacía (es decir, "") para value.

_putenv_s y _wputenv_s solo afectan al entorno que es local en el proceso actual. No se pueden usar para modificar el entorno del nivel de comandos. Solo funcionan en estructuras de datos a las que puede tener acceso la biblioteca en tiempo de ejecución y no en el "segmento" de entorno que el sistema operativo crea para un proceso. Cuando finaliza el proceso actual, el entorno vuelve al nivel del proceso de llamada, que en la mayoría de los casos es el nivel del sistema operativo. Sin embargo, el entorno modificado se puede pasar a los nuevos procesos que _spawn, _exec o system crean. Estos nuevos procesos obtienen los nuevos elementos que _putenv_s y _wputenv_s agregan.

No cambie directamente una entrada de entorno: en lugar de ello, use _putenv_s o _wputenv_s para cambiarla. Especialmente, la liberación directa de elementos de la matriz global _environ[] podría dar lugar a que se obtenga acceso a memoria no válida.

getenv y _putenv_s usan la variable global _environ para obtener acceso a la tabla de entorno. _wgetenv y _wputenv_s usan _wenviron. _putenv_s y _wputenv_s pueden cambiar el valor de _environ y _wenviron, e invalidar así el argumento envp para main y el argumento _wenvp para wmain. Por ello, es más seguro usar _environ o _wenviron para obtener acceso a la información del entorno. Para obtener más información sobre la relación de _putenv_s y _wputenv_s con las variables globales, vea _environ, _wenviron.

System_CAPS_noteNota

Los grupos de funciones de _putenv_s y _getenv_s no son seguros para subprocesos. _getenv_s podría devolver un puntero de cadena mientras _putenv_s modifica la cadena y, por lo tanto, generarían errores aleatorios. Asegúrese de que las llamadas a estas funciones están sincronizadas.

Requisitos

Rutina

Encabezado necesario

_putenv_s

<stdlib.h>

_wputenv_s

<stdlib.h> o <wchar.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

Ejemplo

Para obtener un ejemplo que muestra cómo usar _putenv_s, vea getenv_s, _wgetenv_s.

Equivalente en .NET Framework

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Platform Invoke Examples.

Mostrar:
© 2016 Microsoft