Fonction LookupSecurityDescriptorPartsA (aclapi.h)

La fonction LookupSecurityDescriptorParts récupère les informations de sécurité d’un descripteur de sécurité auto-relatif.

Syntaxe

DWORD LookupSecurityDescriptorPartsA(
  [out, optional] PTRUSTEE_A           *ppOwner,
  [out, optional] PTRUSTEE_A           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

Paramètres

[out, optional] ppOwner

Pointeur vers une variable qui reçoit un pointeur vers une structure TRUSTEE . La fonction recherche le nom associé à l’identificateur de sécurité propriétaire (SID) dans le descripteur de sécuritépSD et retourne un pointeur vers le nom dans le membre ptstrName de la structure TRUSTEE. La fonction définit le membre TrusteeForm sur TRUSTEE_IS_NAME.

Ce paramètre peut être NULL si le nom du propriétaire ne vous intéresse pas.

[out, optional] ppGroup

Pointeur vers une variable qui reçoit un pointeur vers une structure TRUSTEE . La fonction recherche le nom associé au SID du groupe principal du descripteur de sécurité et retourne un pointeur vers le nom dans le membre ptstrName de la structure TRUSTEE . La fonction définit le membre TrusteeForm sur TRUSTEE_IS_NAME.

Ce paramètre peut être NULL si le nom du groupe ne vous intéresse pas.

[out, optional] pcCountOfAccessEntries

Pointeur vers un ULONG qui reçoit le nombre de structures EXPLICIT_ACCESS retournées dans le tableau pListOfAccessEntries . Ce paramètre peut être NULL uniquement si le paramètre pListOfAccessEntries a également la valeur NULL.

[out, optional] ppListOfAccessEntries

Pointeur vers une variable qui reçoit un pointeur vers un tableau de structures EXPLICIT_ACCESS qui décrivent les entrées de contrôle d’accès (ACA) dans la liste de contrôle d’accès discrétionnaire (DACL) du descripteur de sécurité. La structure TRUSTEE de ces structures EXPLICIT_ACCESS utilise le formulaire TRUSTEE_IS_NAME. Pour obtenir une description de la façon dont un tableau de structures EXPLICIT_ACCESS décrit les AES dans une liste de contrôle d’accès (ACL), consultez la fonction GetExplicitEntriesFromAcl . Si ce paramètre a la valeur NULL, le paramètre cCountOfAccessEntries doit également être NULL.

[out, optional] pcCountOfAuditEntries

Pointeur vers un ULONG qui reçoit le nombre de structures EXPLICIT_ACCESS retournées dans le tableau pListOfAuditEntries . Ce paramètre ne peut être NULL que si le paramètre pListOfAuditEntries a également la valeur NULL.

[out, optional] ppListOfAuditEntries

Pointeur vers une variable qui reçoit un pointeur vers un tableau de structures EXPLICIT_ACCESS qui décrivent les ACL dans la liste de contrôle d’accès système (SACL) du descripteur de sécurité. La structure TRUSTEE de ces structures EXPLICIT_ACCESS utilise la forme TRUSTEE_IS_NAME. Si ce paramètre a la valeur NULL, le paramètre cCountOfAuditEntries doit également être NULL.

[in] pSD

Pointeur vers un descripteur de sécurité auto-relatif existant à partir duquel la fonction récupère des informations de sécurité.

Valeur retournée

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

Si la fonction échoue, elle retourne un code d’erreur différent de zéro défini dans WinError.h.

Remarques

La fonction LookupSecurityDescriptorParts récupère les noms du propriétaire et du groupe principal du descripteur de sécurité. Cette fonction retourne également des descriptions des ACL dans les entrées DACL et audit-control dans la SACL du descripteur de sécurité.

Les paramètres autres que pSD peuvent être NULL si les informations ne vous intéressent pas. Si vous ne souhaitez pas d’informations sur la liste DACL, pListOfAccessEntries et cCountOfAuditEntries doivent avoir la valeur NULL. Si vous ne souhaitez pas d’informations sur la SACL, pListOfAuditEntries et cCountOfAuditEntries doivent avoir la valeur NULL. De même, si vous souhaitez obtenir des informations DACL ou SACL, les deux paramètres correspondants ne doivent pas être NULL.

Lorsque vous avez terminé d’utiliser l’une des mémoires tampons retournées par les paramètres pOwner, pGroup, pListOfAccessEntries ou pListOfAuditEntries , libérez-les en appelant la fonction LocalFree .

La fonction LookupSecurityDescriptorParts est destinée aux serveurs approuvés qui implémentent ou exposent la sécurité sur leurs propres objets. La fonction fonctionne avec un descripteur de sécurité auto-relatif adapté à la sérialisation dans un flux et au stockage sur disque, comme un serveur approuvé peut l’exiger.

Notes

L’en-tête aclapi.h définit LookupSecurityDescriptorParts en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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 aclapi.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ACE

ACL

Fonctions de Access Control client/serveur

Vue d’ensemble des Access Control client/serveur

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

FIDUCIAIRE