Функция ExpandEnvironmentStringsForUserW (userenv.h)
Разворачивает исходную строку с помощью блока среды, установленного для указанного пользователя.
Синтаксис
USERENVAPI BOOL ExpandEnvironmentStringsForUserW(
[in, optional] HANDLE hToken,
[in] LPCWSTR lpSrc,
[out] LPWSTR lpDest,
[in] DWORD dwSize
);
Параметры
[in, optional] hToken
Тип: HANDLE
Маркер для пользователя, возвращенный функцией LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken или OpenThreadToken . Маркер должен иметь TOKEN_IMPERSONATE и TOKEN_QUERY доступ. Кроме того, в Windows 7 маркер также должен иметь доступ к TOKEN_DUPLICATE. Дополнительные сведения см. в разделе Права доступа к объектам Access-Token.
Если hToken имеет значение NULL, блок среды содержит только системные переменные.
[in] lpSrc
Тип: LPCTSTR
Указатель на строку источника, завершаемую значением NULL, которая должна быть развернута.
[out] lpDest
Тип: LPTSTR
Указатель на буфер, который получает развернутые строки.
[in] dwSize
Тип: DWORD
Указывает размер буфера lpDest в TCHAR.
Возвращаемое значение
Тип: BOOL
Значение TRUE в случае успешного выполнения; в противном случае — FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Ниже приведен пример исходной строки:
%USERPROFILE%\ntuser.dat
Когда ExpandEnvironmentStringsForUser возвращает значение , конечная строка расширяется следующим образом:
C:\Documents and Settings\UserName\ntuser.dat
Примечание
Заголовок userenv.h определяет ExpandEnvironmentStringsForUser в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | userenv.h |
Библиотека | Userenv.lib |
DLL | Userenv.dll |