Функция 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] |
Целевая платформа | Windows |
Header | processenv.h (включая Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по