Функция GetEnvironmentVariableW (processenv.h)
Извлекает содержимое указанной переменной из блока среды вызывающего процесса.
Синтаксис
DWORD GetEnvironmentVariableW(
[in, optional] LPCWSTR lpName,
[out, optional] LPWSTR lpBuffer,
[in] DWORD nSize
);
Параметры
[in, optional] lpName
Имя переменной среды.
[out, optional] lpBuffer
Указатель на буфер, который получает содержимое указанной переменной среды в виде строки, завершаемой значением NULL.
Максимальный размер определяемой пользователем переменной среды составляет 32 767 символов. Не существует технических ограничений по размеру блока среды. Однако существуют практические ограничения в зависимости от механизма, используемого для доступа к блоку. Например, пакетный файл не может задать переменную, длину которой превышает максимальную длину командной строки. Дополнительные сведения см. в переменных среды.
[in] nSize
Размер буфера, на который указывает параметр lpBuffer, включая символ, завершающий значение NULL, в символах.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение — это число символов, хранящихся в буфере, на которое указывает lpBuffer, а не в том числе завершающий символ NULL.
Если lpBuffer недостаточно велик для хранения данных, возвращаемое значение — это размер буфера в символах, необходимый для хранения строки и его конца символа NULL, а содержимое lpBuffer не определено.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Если указанная переменная среды не найдена в блоке среды, GetLastError возвращает ERROR_ENVVAR_NOT_FOUND.
Замечания
Эта функция может получить системную переменную среды или переменную пользовательской среды.
Примеры
Пример см. в разделе изменение переменных среды.
Заметка
Заголовок processenv.h определяет GetEnvironmentVariable как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | processenv.h (включая Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
переменных среды