Partager via


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 . Si la fonction échoue, car la mémoire tampon est trop petite ou si cbSid est égal à zéro, cette variable reçoit la taille de mémoire tampon requise.

[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

fonctions de contrôle d’accès de base

equalPrefixSid

GetUserName

lookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE