1 out of 7 rated this helpful - Rate this topic

GetEnvironmentStrings function

Applies to: desktop apps only

Retrieves the environment variables for the current process.

Syntax

LPTCH WINAPI GetEnvironmentStrings(void);

Parameters

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.

Remarks

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\0
Var2=Value2\0
Var3=Value3\0
...
VarN=ValueN\0\0

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.

Examples

For an example, see Changing Environment Variables.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

WinBase.h (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

Unicode and ANSI names

GetEnvironmentStringsW (Unicode) and GetEnvironmentStringsA (ANSI)

See also

Environment Variables
FreeEnvironmentStrings
GetEnvironmentVariable
SetEnvironmentVariable

 

 

Send comments about this topic to Microsoft

Build date: 3/7/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
GetEnvironmentStringsA uses the OEM codepage
Note: The "ANSI" version of GetEnvironmentStrings (GetEnvironmentStringsA) returns the strings in the OEM code page, not the ANSI code page. If you need the returned strings in the ANSI code page call the Unicode version (GetEnvironmentStringsW) and translate the returned wide-string to an 8-bit string using a conversion function such as WideCharToMultiByte. Or call GetEnvironmentVariableA, which correctly uses the ANSI code page.