Partager via


CAcl, classe

Cette classe est un wrapper pour une structure (liste de contrôle d’accès ACL ).

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CAcl

Membres

Typedefs publics

Nom Description
CAcl ::CAccessMaskArray Tableau de ACCESS_MASKs.
CAcl ::CAceFlagArray Tableau d’octets bytEs.
CAcl ::CAceTypeArray Tableau d’octets bytEs.

Constructeurs publics

Nom Description
CAcl ::CAcl Constructeur .
CAcl ::~CAcl Destructeur.

Méthodes publiques

Nom Description
CAcl ::GetAceCount Retourne le nombre d’objets d’entrée de contrôle d’accès (ACE).
CAcl ::GetAclEntries Récupère les entrées de liste de contrôle d’accès (ACL) de l’objet CAcl .
CAcl ::GetAclEntry Récupère toutes les informations relatives à une entrée dans un CAcl objet.
CAcl ::GetLength Retourne la longueur de la liste de contrôle d’accès.
CAcl ::GetPACL Retourne un PACL (pointeur vers une liste de contrôle d’accès).
CAcl ::IsEmpty Teste l’objet CAcl pour les entrées.
CAcl ::IsNull Retourne l’état de l’objet CAcl .
CAcl ::RemoveAce Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CAcl .
CAcl ::RemoveAces Supprime toutes les AE (entrées de contrôle d’accès) de l’application CAcl donnée CSid.
CAcl ::SetEmpty Marque l’objet CAcl comme vide.
CAcl ::SetNull Marque l’objet CAcl comme NULL.

Opérateurs publics

Nom Description
CAcl ::operator const ACL * Convertit un CAcl objet en structure ACL .
CAcl ::operator = Opérateur d'assignation.

Notes

La ACL structure est l’en-tête d’une liste de contrôle d’accès (liste de contrôle d’accès). Une liste de contrôle d’accès inclut une liste séquentielle de zéro ou plusieurs ACL (entrées de contrôle d’accès). Les ACL individuelles d’une liste de contrôle d’accès sont numérotées de 0 à n-1, où n est le nombre d’ACL. Lors de la modification d’une liste de contrôle d’accès, une application fait référence à une entrée de contrôle d’accès (ACE) dans la liste de contrôle d’accès par son index.

Il existe deux types de listes de contrôle d’accès :

  • Discrétionnaire

  • Système

Une liste de contrôle d’accès discrétionnaire est contrôlée par le propriétaire d’un objet ou toute personne ayant accordé WRITE_DAC accès à l’objet. Il spécifie les utilisateurs et groupes d’accès particuliers peuvent avoir à un objet. Par exemple, le propriétaire d’un fichier peut utiliser une liste de contrôle d’accès discrétionnaire pour contrôler quels utilisateurs et groupes peuvent et ne peuvent pas avoir accès au fichier.

Un objet peut également avoir des informations de sécurité au niveau du système qui lui sont associées, sous la forme d’une liste de contrôle d’accès système contrôlée par un administrateur système. Une liste de contrôle d’accès système peut permettre à l’administrateur système d’auditer toute tentative d’accès à un objet.

Pour plus d’informations, consultez la discussion de liste de contrôle d’accès dans le Kit de développement logiciel (SDK) Windows.

Pour une présentation du modèle de contrôle d’accès dans Windows, consultez Contrôle d’accès dans le Kit de développement logiciel (SDK) Windows.

Spécifications

En-tête : atlsecurity.h

CAcl ::CAccessMaskArray

Tableau d’objets ACCESS_MASK.

typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;

Notes

Ce typedef spécifie le type de tableau qui peut être utilisé pour stocker les droits d’accès utilisés dans les entrées de contrôle d’accès (ACEs).

CAcl ::CAceFlagArray

Tableau d’octets bytEs.

typedef CAtlArray<BYTE> CAceFlagArray;

Notes

Ce typedef spécifie le type de tableau utilisé pour définir les indicateurs de contrôle d’accès spécifiques au type (ACE). Consultez la définition ACE_HEADER pour obtenir la liste complète des indicateurs possibles.

CAcl ::CAceTypeArray

Tableau d’octets bytEs.

typedef CAtlArray<BYTE> CAceTypeArray;

Notes

Ce typedef spécifie le type de tableau utilisé pour définir la nature des objets d’entrée de contrôle d’accès (ACE), tels que ACCESS_ALLOWED_ACE_TYPE ou ACCESS_DENIED_ACE_TYPE. Consultez la définition ACE_HEADER pour obtenir la liste complète des types possibles.

CAcl ::CAcl

Constructeur .

CAcl() throw();
CAcl(const CAcl& rhs) throw(...);

Paramètres

rhs
Objet CAcl existant.

Notes

L’objet CAcl peut être créé éventuellement à l’aide d’un objet existant CAcl .

CAcl ::~CAcl

Destructeur.

virtual ~CAcl() throw();

Notes

Le destructeur libère toutes les ressources acquises par l’objet.

CAcl ::GetAceCount

Retourne le nombre d’objets d’entrée de contrôle d’accès (ACE).

virtual UINT GetAceCount() const throw() = 0;

Valeur de retour

Retourne le nombre d’entrées ACE dans l’objet CAcl .

CAcl ::GetAclEntries

Récupère les entrées de liste de contrôle d’accès (ACL) de l’objet CAcl .

void GetAclEntries(
    CSid::CSidArray* pSids,
    CAccessMaskArray* pAccessMasks = NULL,
    CAceTypeArray* pAceTypes = NULL,
    CAceFlagArray* pAceFlags = NULL) const throw(...);

Paramètres

pSids
Pointeur vers un tableau d’objets CSid .

pAccessMasks
Masques d’accès.

pAceTypes
Types d’entrée de contrôle d’accès (ACE).

pAceFlags
Indicateurs ACE.

Notes

Cette méthode remplit les paramètres de tableau avec les détails de chaque objet ACE contenu dans l’objet CAcl . Utilisez NULL lorsque les détails de ce tableau particulier ne sont pas obligatoires.

Le contenu de chaque tableau correspond l’un à l’autre, c’est-à-dire le premier élément du CAccessMaskArray tableau correspond au premier élément du CSidArray tableau, et ainsi de suite.

Consultez ACE_HEADER pour plus d’informations sur les types et indicateurs ACE.

CAcl ::GetAclEntry

Récupère toutes les informations relatives à une entrée dans une liste de contrôle d’accès (ACL).

void GetAclEntry(
    UINT nIndex,
    CSid* pSid,
    ACCESS_MASK* pMask = NULL,
    BYTE* pType = NULL,
    BYTE* pFlags = NULL,
    GUID* pObjectType = NULL,
    GUID* pInheritedObjectType = NULL) const throw(...);

Paramètres

nIndex
Index de l’entrée ACL à récupérer.

pSid
Objet CSid auquel l’entrée ACL s’applique.

pMask
Masque spécifiant les autorisations d’octroi ou de refus d’accès.

pType
Type ACE.

pFlags
Indicateurs ACE.

pObjectType
Type d'objet. Cette valeur est définie sur GUID_NULL si le type d’objet n’est pas spécifié dans l’ACE ou si l’ACE n’est pas un ACE OBJECT.

pInheritedObjectType
Type d’objet hérité. Cette valeur est définie sur GUID_NULL si le type d’objet hérité n’est pas spécifié dans l’ACE ou si l’ACE n’est pas un ACE OBJECT.

Notes

Cette méthode récupère toutes les informations relatives à un ACE individuel, fournissant plus d’informations que CAcl ::GetAclEntries seules rend disponibles.

Consultez ACE_HEADER pour plus d’informations sur les types et indicateurs ACE.

CAcl ::GetLength

Retourne la longueur de la liste de contrôle d’accès (ACL).

UINT GetLength() const throw();

Valeur de retour

Retourne la longueur requise en octets nécessaires pour contenir la ACL structure.

CAcl ::GetPACL

Retourne un pointeur vers une liste de contrôle d’accès (ACL).

const ACL* GetPACL() const throw(...);

Valeur de retour

Retourne un pointeur vers la ACL structure.

CAcl ::IsEmpty

Teste l’objet CAcl pour les entrées.

bool IsEmpty() const throw();

Notes

Retourne TRUE si l’objet CAcl n’est pas NULL et ne contient aucune entrée. Retourne FALSE si l’objet a la CAcl valeur NULL ou contient au moins une entrée.

CAcl ::IsNull

Retourne l’état de l’objet CAcl .

bool IsNull() const throw();

Valeur de retour

Retourne TRUE si l’objet a la CAcl valeur NULL, FALSE sinon.

CAcl ::operator const ACL *

Convertit un CAcl objet en structure (liste de contrôle d’accès ACL ).

operator const ACL *() const throw(...);

Notes

Retourne l’adresse de la ACL structure.

CAcl ::operator =

Opérateur d'assignation.

CAcl& operator= (const CAcl& rhs) throw(...);

Paramètres

rhs
À CAcl affecter à l’objet existant.

Valeur de retour

Retourne une référence à l’objet mis à jour CAcl .

CAcl ::RemoveAce

Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CAcl .

void RemoveAce(UINT nIndex) throw();

Paramètres

nIndex
Index de l’entrée ACE à supprimer.

Notes

Cette méthode est dérivée de CAtlArray ::RemoveAt.

CAcl ::RemoveAces

Supprime toutes les ACL (entrées de contrôle d’accès) de l’élément CAcl qui s’applique à l’élément donné CSid.

bool RemoveAces(const CSid& rSid) throw(...)

Paramètres

rSid
Référence à un objet CSid.

CAcl ::SetEmpty

Marque l’objet CAcl comme vide.

void SetEmpty() throw();

Notes

Peut CAcl être défini sur vide ou sur NULL : les deux états sont distincts.

CAcl ::SetNull

Marque l’objet CAcl comme NULL.

void SetNull() throw();

Notes

Peut CAcl être défini sur vide ou sur NULL : les deux états sont distincts.

Voir aussi

Vue d’ensemble de la classe
Fonctions globales de sécurité