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


Функция GetUserProfileDirectoryA (userenv.h)

Извлекает путь к корневому каталогу профиля указанного пользователя.

Синтаксис

USERENVAPI BOOL GetUserProfileDirectoryA(
  [in]            HANDLE  hToken,
  [out, optional] LPSTR   lpProfileDir,
  [in, out]       LPDWORD lpcchSize
);

Параметры

[in] hToken

Тип: HANDLE

Маркер для пользователя, возвращаемый функцией LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken или OpenThreadToken . Маркер должен иметь доступ TOKEN_QUERY. Дополнительные сведения см. в разделе Права доступа для объектов Access-Token.

[out, optional] lpProfileDir

Тип: LPTSTR

Указатель на буфер, который при успешном возвращении этой функции получает путь к каталогу профиля указанного пользователя.

[in, out] lpcchSize

Тип: LPDWORD

Указывает размер буфера lpProfileDir в TCHAR.

Если буфер, заданный параметром lpProfileDir , недостаточно велик или lpProfileDir имеет значение NULL, функция завершается ошибкой, и этот параметр получает необходимый размер буфера, включая завершающий символ NULL.

Возвращаемое значение

Тип: BOOL

Значение TRUE в случае успешного выполнения; в противном случае — FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Ниже приведен пример пути, возвращаемого Командлетом GetUserProfileDirectory в Windows XP:

C:\Documents and Settings\Joe

Ниже приведен пример пути, возвращаемого GetUserProfileDirectory в Windows 7:

C:\Users\Joe

Чтобы получить пути к подкаталогам этого каталога, используйте функцию SHGetFolderPath (Windows XP и более ранние версии) или SHGetKnownFolderPath (Windows Vista).

Примечание

Заголовок userenv.h определяет GetUserProfileDirectory как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header userenv.h
Библиотека Userenv.lib
DLL Userenv.dll

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

GetAllUsersProfileDirectory

GetDefaultUserProfileDirectory

GetProfilesDirectory

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

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