GetUserProfileDirectoryA function

Retrieves the path to the root directory of the specified user's profile.

Syntax

USERENVAPI BOOL GetUserProfileDirectoryA(
  HANDLE  hToken,
  LPSTR   lpProfileDir,
  LPDWORD lpcchSize
);

Parameters

hToken

Type: HANDLE

A token for the user, which is returned by the LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken, or OpenThreadToken function. The token must have TOKEN_QUERY access. For more information, see Access Rights for Access-Token Objects.

lpProfileDir

Type: LPTSTR

A pointer to a buffer that, when this function returns successfully, receives the path to the specified user's profile directory.

lpcchSize

Type: LPDWORD

Specifies the size of the lpProfileDir buffer, in TCHARs.

If the buffer specified by lpProfileDir is not large enough or lpProfileDir is NULL, the function fails and this parameter receives the necessary buffer size, including the terminating null character.

Return Value

Type: BOOL

TRUE if successful; otherwise, FALSE. To get extended error information, call GetLastError.

Remarks

The following is an example of the path returned by GetUserProfileDirectory in Windows XP:

C:\Documents and Settings\Joe

The following is an example of the path returned by GetUserProfileDirectory in Windows 7:

C:\Users\Joe

To obtain the paths of subdirectories of this directory, use the SHGetFolderPath (Windows XP and earlier) or SHGetKnownFolderPath (Windows Vista) function.

Requirements

   
Windows version Windows 2000 Professional [desktop apps only] Windows 2000 Server [desktop apps only]
Target Platform Windows
Header userenv.h
Library Userenv.lib
DLL Userenv.dll

See Also

GetAllUsersProfileDirectory

GetDefaultUserProfileDirectory

GetProfilesDirectory

User Profiles Overview

User Profiles Reference