Fonction LookupAccountNameW (winbase.h)
La fonction LookupAccountName accepte le nom d’un système et d’un compte comme entrée. Il récupère un identificateur de sécurité (SID) pour le compte et le nom du domaine sur lequel le compte a été trouvé.
La fonction LsaLookupNames peut également récupérer des comptes d’ordinateur.
Syntaxe
BOOL LookupAccountNameW(
[in, optional] LPCWSTR lpSystemName,
[in] LPCWSTR lpAccountName,
[out, optional] PSID Sid,
[in, out] LPDWORD cbSid,
[out, optional] LPWSTR ReferencedDomainName,
[in, out] LPDWORD cchReferencedDomainName,
[out] PSID_NAME_USE peUse
);
Paramètres
[in, optional] lpSystemName
Pointeur vers une chaîne de caractères null-terminated qui spécifie le nom du système. Cette chaîne peut être le nom d’un ordinateur distant. Si cette chaîne est NULL, la traduction du nom de compte commence sur le système local. Si le nom ne peut pas être résolu sur le système local, cette fonction tente de résoudre le nom à l’aide de contrôleurs de domaine approuvés par le système local. En règle générale, spécifiez une valeur pour lpSystemName uniquement lorsque le compte se trouve dans un domaine non approuvé et que le nom d’un ordinateur de ce domaine est connu.
[in] lpAccountName
Pointeur vers une chaîne null-terminated qui spécifie le nom du compte.
Utilisez une chaîne complète au format domain_name\user_name pour vous assurer que LookupAccountName recherche le compte dans le domaine souhaité.
[out, optional] Sid
Pointeur vers une mémoire tampon qui reçoit la structure SID correspondant au nom du compte pointé par le paramètre lpAccountName. Si ce paramètre est null, cbSid doit être égal à zéro.
[in, out] cbSid
Pointeur vers une variable. Lors de l’entrée, cette valeur spécifie la taille, en octets, de la mémoire tampon sid
[out, optional] ReferencedDomainName
Pointeur vers une mémoire tampon qui reçoit le nom du domaine où le nom du compte est trouvé. Pour les ordinateurs qui ne sont pas joints à un domaine, cette mémoire tampon reçoit le nom de l’ordinateur. Si ce paramètre est NULL, la fonction retourne la taille de mémoire tampon requise.
[in, out] cchReferencedDomainName
Pointeur vers une variable. Lors de l’entrée, cette valeur spécifie la taille, dans mémoire tampon TCHAR, de la mémoire tampon ReferencedDomainName. Si la fonction échoue, car la mémoire tampon est trop petite, cette variable reçoit la taille de mémoire tampon requise, y compris la fin caractère null. Si le paramètre ReferencedDomainName est NULL, ce paramètre doit être égal à zéro.
[out] peUse
Pointeur vers un type énuméré SID_NAME_USE qui indique le type du compte lorsque la fonction retourne.
Valeur de retour
Si la fonction réussit, la fonction retourne une valeur différente de zéro.
Si la fonction échoue, elle retourne zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction LookupAccountName tente de trouver un SID pour le nom spécifié en vérifiant d’abord une liste de SID connus. Si le nom ne correspond pas à un SID connu, la fonction vérifie les comptes locaux intégrés et définis par l’administration. Ensuite, la fonction vérifie le domaine principal. Si le nom est introuvable, les domaines approuvés sont vérifiés.
Utilisez des noms de compte complets (par exemple, domain_name\user_name) au lieu de noms isolés (par exemple, user_name). Les noms qualifiés complets ne sont pas ambigus et offrent de meilleures performances lorsque la recherche est effectuée. Cette fonction prend également en charge les noms DNS complets (par exemple, example.example.com\user_name) et noms d’utilisateur principaux (UPN) (par exemple, someone@example.com).
En plus de rechercher des comptes locaux, des comptes de domaine local et des comptes de domaine de confiance explicites, LookupAccountName pouvez rechercher le nom de n’importe quel compte dans n’importe quel domaine de la forêt.
Note
L’en-tête winbase.h définit LookupAccountName comme 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 XP [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | winbase.h (inclure Windows.h) |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |
Voir aussi
Vue d’ensemble du contrôle d’accès