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
System
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.