Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cada proceso tiene un bloque de entorno que contiene un conjunto de variables de entorno y sus valores. Hay dos tipos de variables de entorno: variables de entorno de usuario (establecidas para cada usuario) y variables de entorno del sistema (establecidas para todos).
De forma predeterminada, un proceso secundario hereda las variables de entorno de su proceso primario. Los programas iniciados por el procesador de comandos heredan las variables de entorno del procesador de comandos. Para especificar un entorno diferente para un proceso secundario, cree un nuevo bloque de entorno y páselo como un parámetro a la función CreateProcess.
El procesador de comandos proporciona el establecer comando para mostrar su bloque de entorno o para crear nuevas variables de entorno. También puede ver o modificar las variables de entorno seleccionando System en el panel de control de , seleccionando Configuración avanzada del sistemay haciendo clic en Variables de entorno.
Cada bloque de entorno contiene las variables de entorno con el formato siguiente:
-
Var1=Value1\0
Var2=Value2\0
Var3=Value3\0
...
VarN=ValueN\0\0
El nombre de una variable de entorno no puede incluir un signo igual (=).
La función GetEnvironmentStrings devuelve un puntero al bloque de entorno del proceso de llamada. Esto debe tratarse como un bloque de solo lectura; no lo modifique directamente. En su lugar, use la función SetEnvironmentVariable para cambiar una variable de entorno. Cuando haya terminado con el bloque de entorno obtenido de GetEnvironmentStrings, llame a la función FreeEnvironmentStrings para liberar el bloque.
Llamar a SetEnvironmentVariable no tiene ningún efecto en las variables de entorno del sistema. Para agregar o modificar mediante programación variables de entorno del sistema, agréguelas a la clave del Registro de HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment y, a continuación, difunda un mensaje de WM_SETTINGCHANGE con lParam establecido en la cadena "Environment". Esto permite a las aplicaciones, como el shell, recoger las actualizaciones.
El tamaño máximo de una variable de entorno definida por el usuario es de 32 767 caracteres. No hay ninguna limitación técnica en el tamaño del bloque de entorno. Sin embargo, existen límites prácticos en función del mecanismo utilizado para acceder al bloque. Por ejemplo, un archivo por lotes no puede establecer una variable que sea mayor que la longitud máxima de la línea de comandos.
Windows Server 2003 y Windows XP: El tamaño máximo del bloque de entorno para el proceso es de 32 767 caracteres. A partir de Windows Vista y Windows Server 2008, no hay ninguna limitación técnica en el tamaño del bloque de entorno.
La función GetEnvironmentVariable determina si se define una variable especificada en el entorno del proceso de llamada y, si es así, cuál es su valor.
Para recuperar una copia del bloque de entorno para un usuario determinado, use la funciónCreateEnvironmentBlock.
Para expandir cadenas de variables de entorno, use la funciónExpandEnvironmentStrings.
Temas relacionados