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