Поделиться через


Функция 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

См. также раздел

Обзор профилей пользователей

Справочник по профилям пользователей