Exportar (0) Imprimir
Expandir todo
div
EOF
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_putenv_s, _wputenv_s

Crear, modificar, o quitar variables de entorno. Éstas son versiones de _putenv, _wputenv pero tienen mejoras de seguridad, como se describe en Características de seguridad en CRT.

Nota importante Importante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones CRT no compatibles 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

El nombre de la variable de entorno.

value

El valor para establecer la variable de entorno.

Devuelve 0 si es correcto, o un código de error.

Condiciones de error

name

value

Valor devuelto

NULL

any

EINVAL

any

NULL

EINVAL

Si una de las condiciones de error, estas funciones se invoca un controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones EINVAL return y errno determinado a EINVAL.

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

Asignaciones de la rutina de Genérico- texto

Rutina de 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 agregue o modificado y value es el valor de la variable. Si name ya es parte del entorno, su valor es reemplazado por value; si no, la nueva variable de name y su value se agregan al entorno. Puede quitar una variable de 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 puede utilizar para modificar el entorno de comando. Estas funciones solo funcionan en estructuras de datos que son accesibles a la biblioteca en tiempo de ejecución y no en el entorno “segmento” que el sistema operativo crea para un proceso. Cuando el proceso actual finaliza, el entorno vuelve a 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 cualquier nuevo proceso creado por _spawn, _exec, o system, y estos nuevos procesos obtienen los elementos nuevos que agreguen por _putenv_s y _wputenv_s.

No cambie una entrada de entorno directamente; en su lugar, utilice _putenv_s o _wputenv_s para cambiarlo. En particular, directamente liberar los elementos de la matriz global de _environ[] podría producir memoria no válida se envíen.

getenv y _putenv_s utilizan la variable global _environ para tener acceso a la tabla de entorno; _wgetenv y _wputenv_s utilizan _wenviron. _putenv_s y _wputenv_s pueden cambiar el valor de _environ y de _wenviron, y por tanto reemplazan el argumento de envp a main y el argumento de _wenvp a wmain. Por tanto, es más seguro utilizar _environ o _wenviron para tener acceso a información del entorno. Para obtener más información sobre la relación de _putenv_s y de _wputenv_s a las variables globales, vea _environ, _wenviron.

Nota Nota

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

Rutina

Encabezado necesario

_putenv_s

<stdlib.h>

_wputenv_s

<stdlib.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Para obtener un ejemplo que muestra cómo utilizar _putenv_s, consulta getenv_s, _wgetenv_s.

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft