Share via


SecLookupAccountSid, fonction (ntifs.h)

SecLookupAccountSid accepte un identificateur de sécurité (SID) comme entrée. Il récupère le nom du compte pour ce SID et le nom du premier domaine sur lequel ce SID est trouvé.

Syntaxe

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
  [in]            PSID            Sid,
  [out]           PULONG          NameSize,
  [in, out]       PUNICODE_STRING NameBuffer,
  [out]           PULONG          DomainSize,
  [out, optional] PUNICODE_STRING DomainBuffer,
  [out]           PSID_NAME_USE   NameUse
);

Paramètres

[in] Sid

Pointeur vers le SID à rechercher.

[out] NameSize

Pointeur vers une variable qui spécifie la taille du NameBuffer. Lors de l’entrée, cette valeur spécifie la taille en octets de l’entrée NameBuffer. Si la fonction échoue parce que la mémoire tampon est trop petite, cette variable reçoit la taille de mémoire tampon requise. En cas de réussite, cette variable contient la taille du NameBuffer retourné.

[in, out] NameBuffer

Pointeur vers une mémoire tampon qui reçoit le nom du compte associé au Sid. Si ce paramètre a la valeur NULL, NameSize est égal à zéro.

[out] DomainSize

Pointeur vers un ULONG qui spécifie la taille du paramètre DomainBuffer . 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 DomainBuffer a la valeur NULL, ce paramètre est défini sur zéro.

[out, optional] DomainBuffer

Pointeur vers une mémoire tampon qui reçoit le nom du premier domaine sur lequel ce SID est trouvé.

[out] NameUse

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

Valeur retournée

SecLookupAccountSid 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 tentative de 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 NameBuffer 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 (LSA).
STATUS_NO_MEMORY Il n’a pas été possible d’allouer suffisamment de mémoire pour une mémoire tampon interne temporaire utilisée par cette fonction.
STATUS_NONE_MAPPED Le paramètre Sid est introuvable.
STATUS_PROCESS_IS_TERMINATING Ce processus s’étant terminé, il n’est pas possible d’établir une connexion d’appel de procédure locale (LPC).

Remarques

SecLookupAccountSid tente de trouver un nom pour le SID spécifié en vérifiant d’abord une liste de SID connus. Si le SID fourni 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. Les identificateurs de sécurité non reconnus par le domaine principal sont vérifiés par rapport aux domaines approuvés qui correspondent à leurs préfixes SID.

Si la fonction ne trouve pas de nom de compte pour le SID, SecLookupAccountSid échoue. Cela peut se produire si un délai d’attente réseau empêche la fonction de trouver le nom. Cela se produit également pour les SID qui n’ont pas de nom de compte correspondant, par exemple un SID d’ouverture de session qui identifie une session d’ouverture de session.

En plus de rechercher des SID pour les comptes locaux, les comptes de domaine locaux et les comptes de domaine explicitement approuvés, SecLookupAccountSid peut rechercher des SID pour n’importe quel compte dans n’importe quel domaine de la forêt, y compris les SID qui apparaissent uniquement dans le champ SIDhistory d’un compte dans la forêt. Le champ SIDhistory stocke les anciens SID d’un compte qui a été déplacé d’un autre domaine. Pour rechercher un SID, SecLookupAccountSid interroge le catalogue global de la forêt.

SecLookupAccountSid est équivalent à la fonction Win32 LookupAccountSid .

SecLookupAccountSid 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. SecLookupAccountSid ne peut pas être utilisé pendant les E/S du fichier de pagination.

Configuration requise

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

Voir aussi

SID

SID_NAME_USE

SecLookupAccountName

SecLookupWellKnownSid