GetEnvironmentStrings function

Retrieves the environment variables for the current process.


LPCH GetEnvironmentStrings();


This function has no parameters.

Return value

If the function succeeds, the return value is a pointer to the environment block of the current process.

If the function fails, the return value is NULL.


The GetEnvironmentStrings function returns a pointer to a block of memory that contains the environment variables of the calling process (both the system and the user environment variables). Each environment block contains the environment variables in the following format:

Var1 Value1 Var2 Value2 Var3 Value3 VarN ValueN Treat this memory as read-only; do not modify it directly. To add or change an environment variable, use the GetEnvironmentVariable and SetEnvironmentVariable functions.

When the block returned by GetEnvironmentStrings is no longer needed, it should be freed by calling the FreeEnvironmentStrings function.

Note that the ANSI version of this function, GetEnvironmentStringsA, returns OEM characters.


For an example, see Changing Environment Variables.


Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header processenv.h (include Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2, Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

Environment Variables