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 |