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 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 |