The ExpandEnvironmentStrings function expands environment-variable strings and replaces them with their defined values.
DWORD ExpandEnvironmentStrings(
LPCTSTR lpSrc, | // pointer to string with environment variables |
LPTSTR lpDst, | // pointer to string with expanded environment variables |
DWORD nSize | // maximum characters in expanded string |
); |
Parameters
lpSrc
Points to a null-terminated string that might contain references to environment-variable strings of the form:
%variableName%
For each such reference, the %variableName% portion is replaced with the current value of that environment variable.
The replacement rules are the same as those used by the command interpreter. Case is ignored when looking up the environment-variable name. If the name is not found, the %variableName% portion is left undisturbed.
lpDst
Points to a buffer to receive a copy of the source buffer, after all environment-variable name substitutions have been performed.
nSize
Specifies the maximum number of characters that can be stored in the buffer pointed to by the lpDst parameter, including the terminating null character.
Return Values
If the function succeeds, the return value is the number of characters stored in the destination buffer. If the number of characters is greater than the size of the destination buffer, the return value is the size of the buffer required to hold the expanded strings.
If the function fails, the return value is zero. To get extended error information, call GetLastError.