Partager 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 se trouve ce SID.

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, car 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, car la mémoire tampon est trop petite, cette variable reçoit la taille de mémoire tampon requise. Si le paramètre DomainBuffer est 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 type énuméré SID_NAME_USE qui reçoit le type du compte.

Valeur de retour

SecLookupAccountSid retourne STATUS_SUCCESS sur la réussite ou l’un des codes d’erreur suivants en cas d’échec.

Retourner le code Description
SEC_E_INTERNAL_ERROR Une erreur interne s’est produite lors 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 NameBuffer ou le paramètre ReferencedDomain était trop petit.
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’était pas 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’est terminé de sorte qu’il n’est pas possible d’établir une connexion DPC (Local Procedure Call).

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 bien 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. Il se produit également pour les SID qui n’ont aucun nom de compte correspondant, tel qu’un SID d’ouverture de session qui identifie une session d’ouverture de session.

En plus de rechercher des SID pour des comptes locaux, des comptes de domaine local et des comptes de domaine approuvés explicitement, SecLookupAccountSid pouvez 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 équivaut à la fonction LookupAccountSid win32 .

SecLookupAccountSid est exporté par le pilote ksecdd, qui implémente cette fonction à l’aide des services d’assistance en mode utilisateur. En conséquence, 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é lors de la pagination des E/S du fichier.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque Ksecdd.lib
IRQL <= APC_LEVEL

Voir aussi

SID

SID_NAME_USE

SecLookupAccountName

SecLookupWellKnownSid