GetInheritanceSourceA, fonction (aclapi.h)
Cette version de cette fonction n’est pas prise en charge. La version large 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 d’ACL utilisé 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 noms associés à pObjectName. Cela peut être NULL si le gestionnaire d’objets ne prend en charge qu’une seule classe d’objet ou n’a aucun GUID 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 des 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 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 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 le 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.
Note
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. 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 |