Partager via


LsaEnumerateAccountsWithUserRight, fonction (ntsecapi.h)

La fonction LsaEnumerateAccountsWithUserRight retourne les comptes dans la base de données d’un objet de stratégie d’autorité de sécurité locale (LSA) qui contient un privilège spécifié. Les comptes retournés par cette fonction contiennent le privilège spécifié directement via le compte d’utilisateur, et non dans le cadre de l’appartenance à un groupe.

Syntaxe

NTSTATUS LsaEnumerateAccountsWithUserRight(
  [in]  LSA_HANDLE          PolicyHandle,
  [in]  PLSA_UNICODE_STRING UserRight,
  [out] PVOID               *Buffer,
  [out] PULONG              CountReturned
);

Paramètres

[in] PolicyHandle

Handle d’un objet Policy . Le handle doit avoir des droits d’utilisateur POLICY_LOOKUP_NAMES et POLICY_VIEW_LOCAL_INFORMATION. Pour plus d’informations, consultez Ouverture d’un handle d’objet de stratégie.

[in] UserRight

Pointeur vers une structure LSA_UNICODE_STRING qui spécifie le nom d’un privilège. Pour obtenir la liste des privilèges, consultez Constantes de privilège et Constantes de droits de compte.

Si ce paramètre a la valeur NULL, la fonction énumère tous les comptes dans la base de données LSA du système associé à l’objet Policy .

[out] Buffer

Pointeur vers une variable qui reçoit un pointeur vers un tableau de structures LSA_ENUMERATION_INFORMATION . Le membre Sid de chaque structure est un pointeur vers l’identificateur de sécurité (SID) d’un compte qui contient le privilège spécifié.

Lorsque vous n’avez plus besoin des informations, libérez la mémoire en passant le pointeur retourné à la fonction LsaFreeMemory .

[out] CountReturned

Pointeur vers une variable qui reçoit le nombre d’entrées retournées dans le paramètre EnumerationBuffer .

Valeur retournée

Si la fonction réussit, la fonction retourne STATUS_SUCCESS.

Si la fonction échoue, elle retourne un code NTSTATUS , qui peut être l’une des valeurs suivantes ou l’une des valeurs de retour de la fonction de stratégie LSA.

Valeur Description
STATUS_NO_SUCH_PRIVILEGE
La chaîne de privilège spécifiée n’était pas un privilège valide.
STATUS_NO_MORE_ENTRIES
Aucun compte n’avait le privilège spécifié.
 

Vous pouvez utiliser la fonction LsaNtStatusToWinError pour convertir le code NTSTATUS en code d’erreur Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntsecapi.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy