Partager via


GetInheritanceSourceA, fonction (aclapi.h)

Cette version de cette fonction n’est pas prise en charge. La version à caractères larges de cette fonction, GetInheritanceSourceW, est prise en charge.

Syntaxe

DWORD GetInheritanceSourceA(
  [in]           LPSTR                 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_FROMA      pInheritArray
);

Paramètres

[in] pObjectName

Pointeur vers le nom de l’objet qui utilise la liste de contrôle d’accès à 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 des GUID qui identifient les types d’objets ou les noms associés à pObjectName. Cela peut être 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 d’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 des droits génériques aux droits spécifiques de 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 l’ACL.

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 terminé 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 course. 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 un 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.

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