ACCESS_MASK

Le type de données ACCESS_MASK est une valeur DWORD qui définit des droits standard, spécifiques et génériques. Ces droits sont utilisés dans les entrées de contrôle d’accès (ACÉ) et constituent le principal moyen de spécifier l’accès demandé ou accordé à un objet.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Notes

Les bits de cette valeur sont alloués comme suit.

Bits Signification
0 15
Droits spécifiques. Contient le masque d’accès spécifique au type d’objet associé au masque.
16 23
Droits standard. Contient les droits d’accès standard de l’objet.
24
Sécurité du système d’accès (ACCESS_SYSTEM_SECURITY). Il est utilisé pour indiquer l’accès à une liste de contrôle d’accès système (SACL). Ce type d’accès nécessite que le processus appelant dispose du privilège SE_SECURITY_NAME (Gérer l’audit et le journal de sécurité). Si cet indicateur est défini dans le masque d’accès d’un accès d’audit (accès réussi ou infructueux), l’accès SACL est audité.
25
Maximum autorisé (MAXIMUM_ALLOWED).
26 27
Réservé.
28
Tout générique (GENERIC_ALL).
29
Exécution générique (GENERIC_EXECUTE).
30
Écriture générique (GENERIC_WRITE).
31
Lecture générique (GENERIC_READ).

Les bits de droits standard, 16 à 23, contiennent les droits d’accès standard de l’objet et peuvent être une combinaison des indicateurs prédéfinis suivants.

bit Indicateur Signification
16
DELETE
Supprimer l’accès.
17
READ_CONTROL
Accès en lecture au propriétaire, au groupe et à la liste de contrôle d’accès discrétionnaire (DACL) du descripteur de sécurité.
18
WRITE_DAC
Accès en écriture au DACL.
19
WRITE_OWNER
Accès en écriture au propriétaire.
20
SYNCHRONISER
Synchroniser l’accès.

Les constantes suivantes définies dans Winnt.h représentent les droits d’accès spécifiques et standard.

#define DELETE                           (0x00010000L)
#define READ_CONTROL                     (0x00020000L)
#define WRITE_DAC                        (0x00040000L)
#define WRITE_OWNER                      (0x00080000L)
#define SYNCHRONIZE                      (0x00100000L)

#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)

#define STANDARD_RIGHTS_READ             (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)

#define STANDARD_RIGHTS_ALL              (0x001F0000L)

#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)

Spécifications

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]
En-tête
Winnt.h (inclure Windows.h)

Voir aussi

Contrôle d’accès

Structures de Access Control de base

Droits d’accès et masques d’accès

GENERIC_MAPPING