Функция ExpandEnvironmentStringsForUserA (userenv.h)
Разворачивает исходную строку с помощью блока среды, установленного для указанного пользователя.
Синтаксис
USERENVAPI BOOL ExpandEnvironmentStringsForUserA(
[in, optional] HANDLE hToken,
[in] LPCSTR lpSrc,
[out] LPSTR 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | userenv.h |
Библиотека | Userenv.lib |
DLL | Userenv.dll |