Функция ExpandEnvironmentStringsW (processenv.h)
Развертывает строки переменных среды и заменяет их значениями, определенными для текущего пользователя.
Чтобы указать блок среды для конкретного пользователя или системы, используйте функцию ExpandEnvironmentStringsForUser .
Синтаксис
DWORD ExpandEnvironmentStringsW(
[in] LPCWSTR lpSrc,
[out, optional] LPWSTR lpDst,
[in] DWORD nSize
);
Параметры
[in] lpSrc
Буфер, содержащий одну или несколько строк переменных среды в виде : %variableName%. Для каждой такой ссылки часть %variableName% заменяется текущим значением этой переменной среды.
Регистр игнорируется при поиске имени переменной среды. Если имя не найдено, часть %variableName% остается нерасширяемой.
Обратите внимание, что эта функция поддерживает не все функции, поддерживаемые Cmd.exe. Например, он не поддерживает %variableName:str1=str2% или %variableName:~offset,length%.
[out, optional] lpDst
Указатель на буфер, получающий результат расширения строк переменных среды в буфере lpSrc . Обратите внимание, что этот буфер не может совпадать с буфером lpSrc .
[in] nSize
Максимальное количество символов, которое может храниться в буфере, на который указывает параметр lpDst . При использовании строк ANSI размер буфера должен быть длиной строки, а также завершающим символом NULL плюс один. При использовании строк Юникода размер буфера должен быть длиной строки и завершающим символом NULL.
Возвращаемое значение
Если функция выполняется успешно, возвращаемым значением будет количество TCHAR , хранящихся в буфере назначения, включая завершающий символ NULL. Если буфер назначения слишком мал для хранения развернутой строки, возвращаемое значение — это требуемый размер буфера в символах.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Размер буферов lpSrc и lpDst ограничен 32 КБ.
Чтобы заменить имена папок в полном пути связанными строками переменных среды, используйте функцию PathUnExpandEnvStrings .
Чтобы получить список переменных среды для процесса, используйте функцию GetEnvironmentStrings .
Примеры
Пример см. в разделе Получение сведений о системе.
Примечание
Заголовок processenv.h определяет ExpandEnvironmentStrings в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | processenv.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по