I use GetEnvironmentString()
to get the program's environment variables.
Every program has such result in the first:
=::=::\
I don't know what does it mean?
Here is the code :
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
Also if we start listing such variables we would see stuff like:
=::=::\
=C:=C:\Users\username\value
=ExitCode=00000001
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\artik\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
On the other hand, getenv("=ExitCode")
or getenv("=C:")
returns NULL.
Can you provide a proper documentation of this "feature",
for example getenv()
ignores such strings and how such values should be treated?