GetInheritanceSourceW, fonction (aclapi.h)

La fonction GetInheritanceSource retourne des informations sur la source des entrées de contrôle d’accès héritées dans une liste de contrôle d’accès (ACL).

Syntaxe

DWORD GetInheritanceSourceW(
  [in]           LPWSTR                pObjectName,
  [in]           SE_OBJECT_TYPE        ObjectType,
  [in]           SECURITY_INFORMATION  SecurityInfo,
  [in]           BOOL                  Container,
  [in, optional] GUID                  **pObjectClassGuids,
  [in]           DWORD                 GuidCount,
  [in]           PACL                  pAcl,
  [in, optional] PFN_OBJECT_MGR_FUNCTS pfnArray,
  [in]           PGENERIC_MAPPING      pGenericMapping,
  [out]          PINHERITED_FROMW      pInheritArray
);

Paramètres

[in] pObjectName

Pointeur vers le nom de l’objet qui utilise l’ACL à vérifier.

[in] ObjectType

Type d’objet indiqué par pObjectName. Les valeurs possibles sont SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT et SE_DS_OBJECT_ALL.

[in] SecurityInfo

Type de liste de contrôle d’accès utilisée avec l’objet . Les valeurs possibles sont DACL_SECURITY_INFORMATION ou SACL_SECURITY_INFORMATION.

[in] Container

TRUE si l’objet est un objet conteneur ou FALSE si l’objet est un objet feuille. Notez que le seul objet feuille est SE_FILE_OBJECT.

[in, optional] pObjectClassGuids

Liste facultative de GUID qui identifient les types d’objets ou les noms associés à pObjectName. Il peut s’agir de NULL si le gestionnaire d’objets ne prend en charge qu’une seule classe d’objet ou si aucun GUID n’est associé à la classe d’objet.

[in] GuidCount

Nombre de GUID pointés par pObjectClassGuids.

[in] pAcl

Liste de contrôle d’accès de l’objet .

[in, optional] pfnArray

Réservé. Définissez ce paramètre sur NULL.

[in] pGenericMapping

Mappage de droits génériques à des droits spécifiques pour l’objet.

[out] pInheritArray

Pointeur vers un tableau de structures INHERITED_FROM que la fonction GetInheritanceSource remplit avec les informations d’héritage. L’appelant doit allouer suffisamment de mémoire pour une entrée pour chaque ACE dans la liste de contrôle d’accès.

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 GetInheritanceSource alloue de la mémoire pour les noms retournés dans la structure INHERITED_FROM . Lorsque la fonction a fini d’utiliser cette mémoire, le programme appelant doit la libérer en appelant FreeInheritedFromArray. Notez que l’appelant doit fournir de la mémoire pour le tableau lui-même. Si l’appelant a alloué la mémoire, l’appelant doit libérer cette mémoire après avoir appelé FreeInheritedFromArray.

Cette fonction ne gère pas les conditions de concurrence. Si votre thread appelle cette fonction au moment approximatif où un autre thread modifie le descripteur de sécurité de l’objet, cette fonction peut échouer.

Notes

L’en-tête aclapi.h définit GetInheritanceSource 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. 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

FreeInheritedFromArray