LoadUserProfileW, fonction (userenv.h)
Charge le profil de l’utilisateur spécifié. Le profil peut être un profil utilisateur local ou un profil utilisateur itinérant .
Syntaxe
USERENVAPI BOOL LoadUserProfileW(
[in] HANDLE hToken,
[in, out] LPPROFILEINFOW lpProfileInfo
);
Paramètres
[in] hToken
Type : HANDLE
Jeton de l’utilisateur, retourné par leLogonUser
[in, out] lpProfileInfo
Type : LPPROFILEINFO
Pointeur vers une structure PROFILEINFO sizeof(PROFILEINFO)
ou si le membre lpUserName est NULL. Pour plus d’informations, consultez Remarques.
Valeur de retour
Type : BOOL
TRUE en cas de réussite ; sinon, FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
La fonction échoue et retourne ERROR_INVALID_PARAMETER si le membre dwSize de la structure à lpProfileInfo n’est pas défini sur sizeof(PROFILEINFO)
ou si le membre lpUserName est NULL.
Remarques
Lorsqu’un utilisateur se connecte de manière interactive, le système charge automatiquement le profil de l’utilisateur. Si un service ou une application emprunte l’identité d’un utilisateur, le système ne charge pas le profil de l’utilisateur. Par conséquent, le service ou l’application doit charger le profil de l’utilisateur avec LoadUserProfile.
Les services et applications qui appellent LoadUserProfile doivent vérifier si l’utilisateur a un profil itinérant. Si l’utilisateur a un profil itinérant, spécifiez son chemin d’accès en tant que membre
Une fois le retour réussi, le membre
Notez qu’il vous incombe de charger la ruche de Registre de l’utilisateur dans la clé de Registre HKEY_USERS avec la fonction LoadUserProfile avant d’appeler CreateProcessAsUser. Cela est dû au fait que CreateProcessAsUser ne charge pas le profil de l’utilisateur spécifié dans HKEY_USERS. Cela signifie que l’accès aux informations dans la clé de Registre HKEY_CURRENT_USER peut ne pas produire de résultats cohérents avec une ouverture de session interactive normale.
Le processus appelant doit disposer des privilèges SE_RESTORE_NAME et SE_BACKUP_NAME. Pour plus d’informations, consultez Exécution avec des privilèges spéciaux.
À compter de Windows XP Service Pack 2 (SP2) et Windows Server 2003, l’appelant doit être administrateur ou compte LocalSystem. Il n’est pas suffisant que l’appelant emprunte simplement l’identité de l’administrateur ou du compte LocalSystem.
Note
L’en-tête userenv.h définit LoadUserProfile en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | userenv.h |
bibliothèque | Userenv.lib |
DLL | Userenv.dll |