Partager via


LookupSecurityDescriptorPartsA, fonction (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 de TRUSTEE. La fonction recherche le nom associé à l’identificateur de sécurité du propriétaire (SID) dans le 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 vous n’êtes pas intéressé par le nom du propriétaire.

[out, optional] ppGroup

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

Ce paramètre peut être NULL si vous n’êtes pas intéressé par le nom du groupe.

[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 est également 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 (ACEs) dans la liste de contrôle d’accès discrétionnaire (DACL) du descripteur de sécurité. La structure TRUSTEE dans ces structures EXPLICIT_ACCESS utilise la forme TRUSTEE_IS_NAME. Pour obtenir une description de la façon dont un tableau de structures EXPLICIT_ACCESS décrit les AE dans une liste de contrôle d’accès (ACL), consultez la fonction GetExplicitEntriesFromAcl. Si ce paramètre est 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 peut être null uniquement si le paramètre pListOfAuditEntries est également 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 dans ces structures EXPLICIT_ACCESS utilise la forme TRUSTEE_IS_NAME. Si ce paramètre est 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 les informations de sécurité.

Valeur de retour

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 de contrôle d’audit dans la liste de contrôle d’accès partagé du descripteur de sécurité.

Les paramètres autres que pSD peuvent être NULL si vous n’êtes pas intéressé par les informations. Si vous ne souhaitez pas d’informations sur la liste dacl, les deux pListOfAccessEntries et cCountOfAuditEntries doivent être NULL. Si vous ne souhaitez pas d’informations sur la liste de contrôle d’accès partagé, les deux pListOfAuditEntries et cCountOfAuditEntries doivent être 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 lepOwner , pGroup, pListOfAccessEntriesou paramètres 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, car un serveur approuvé peut nécessiter.

Note

L’en-tête aclapi.h définit LookupSecurityDescriptorParts comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête aclapi.h
bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ACE

de liste de contrôle d’accès

fonctions de contrôle d’accès client/serveur

Vue d’ensemble du contrôle d’accès client/serveur

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

FIDUCIAIRE