Partager via


Fonction SecLookupAccountName (ntifs.h)

SecLookupAccountName accepte un compte comme entrée et récupère un identificateur de sécurité (SID) pour le compte et le nom du domaine sur lequel le compte a été trouvé.

Syntaxe

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
  [in]               PUNICODE_STRING Name,
  [in, out]          PULONG          SidSize,
  [out]              PSID            Sid,
  [out]              PSID_NAME_USE   NameUse,
  [out]              PULONG          DomainSize,
  [in_out, optional] PUNICODE_STRING ReferencedDomain
);

Paramètres

[in] Name

Pointeur vers une chaîne Unicode qui spécifie le nom du compte. Utilisez une chaîne complète au format domain_name\user_name pour vous assurer que SecLookupAccountName recherche le compte dans le domaine souhaité.

[in, out] SidSize

Pointeur vers une variable qui spécifie la taille de la mémoire tampon Sid . En entrée, cette valeur spécifie la taille en octets de la mémoire tampon Sid d’entrée . Si la fonction échoue parce que la mémoire tampon est trop petite ou si SidSize est égal à zéro, cette variable reçoit la taille de mémoire tampon requise. En cas de réussite, cette variable contient la taille du Sid retourné.

[out] Sid

Pointeur vers une mémoire tampon qui reçoit la structure SID qui correspond au nom du compte pointé par le paramètre Name . Si ce paramètre a la valeur NULL, SidSize doit être égal à zéro.

[out] NameUse

Pointeur vers un SID_NAME_USE type énuméré qui reçoit le type du compte.

[out] DomainSize

Pointeur vers un ULONG qui reçoit la taille du paramètre ReferencedDomain . Si la fonction échoue parce que la mémoire tampon est trop petite, cette variable reçoit la taille de mémoire tampon requise. Si le paramètre d’entrée ReferencedDomain a la valeur NULL, ce paramètre reçoit zéro.

[in_out, optional] ReferencedDomain

Pointeur vers une mémoire tampon pour le nom du domaine où le nom du compte est trouvé. Ce paramètre est facultatif et peut être NULL. Pour les ordinateurs qui ne sont pas joints à un domaine, cette mémoire tampon reçoit le nom de l’ordinateur.

Valeur retournée

SecLookupAccountName retourne STATUS_SUCCESS en cas de réussite ou l’un des codes d’erreur suivants en cas d’échec.

Code de retour Description
SEC_E_INTERNAL_ERROR Une erreur interne s’est produite lors de l’échec de la connexion à l’autorité système locale (LSA) ou à l’appel de procédure locale (LPC) au fournisseur de sécurité.
STATUS_ACCESS_DENIED L’ID de processus associé au thread en cours d’exécution ne correspond pas à l’ID de processus actuel.
STATUS_BUFFER_TOO_SMALL La taille de la mémoire tampon pour le paramètre Sid ou ReferencedDomain était trop petite.
STATUS_INVALID_PARAMETER La longueur du paramètre Name a dépassé la longueur autorisée dans un message à l’autorité système locale.
STATUS_NONE_MAPPED Le paramètre Name est introuvable.
STATUS_PROCESS_IS_TERMINATING Ce processus s’étant terminé, il n’est pas possible d’établir la connexion d’appel de procédure locale (LPC).

Remarques

SecLookupAccountName tente de trouver un SID pour le nom spécifié. 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 n’y est pas trouvé, les domaines approuvés sont vérifiés.

Utilisez des noms de comptes complets (par exemple, domain_name\user_name) au lieu de noms isolés (par exemple, user_name). Les noms complets sont sans ambiguïté et fournissent 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 les noms d’utilisateur principaux (UPN) (par exemple). someone@example.com

En plus de rechercher des comptes locaux, des comptes de domaine locaux et des comptes de domaine approuvés explicitement, SecLookupAccountName peut rechercher le nom de n’importe quel compte dans n’importe quel domaine de la forêt.

SecLookupAccountName équivaut à la fonction Win32 LookupAccountName .

SecLookupAccountName est exporté par le pilote ksecdd, qui implémente cette fonction à l’aide des services d’assistance en mode utilisateur. Par conséquent, l’utilisation de cette fonction dans les systèmes de fichiers doit respecter les règles habituelles de communication avec les services en mode utilisateur. SecLookupAccountName ne peut pas être utilisé lors de la pagination des E/S de fichier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque Ksecdd.lib
IRQL <= APC_LEVEL

Voir aussi

SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid