Partager via


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 (ACE ) et constituent le moyen principal de spécifier l’accès demandé ou accordé à un objet.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Remarques

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

Bits Meaning
0-15 Droits spécifiques. Contient le masque d’accès spécifique au type d’objet associé au masque. Consultez Object-Specific Droits d’accès pour obtenir des liens vers des droits d’accès pour différents types d’objets.
16-23 Droits standard. Contient les droits d’accès standard de l’objet.
Vingt-quatre 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 ace d’accès d’audit (accès réussi ou non), 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 Flag Meaning
16 SUPPRIMER 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 à la liste DACL.
19 WRITE_OWNER Accès en écriture au propriétaire.
20 SYNCHRONIZE Synchronisez 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)

droits d’accès Object-Specific

Les 16 bits faibles (bits 0-15) de la ACCESS_MASK sont utilisés pour les droits d’accès spécifiques à l’objet. La signification de ces bits dépend du type d’objet accessible. Pour plus d’informations sur les droits d’accès pour des types d’objets spécifiques, consultez les rubriques suivantes :

Types d’objets communs

  • Fichiers et répertoires - Constantes des droits d’accès aux fichiers
    Définit des droits d’accès spécifiques tels que FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES et FILE_WRITE_ATTRIBUTES.
  • Clés - de RegistreSécurité des clés de Registre et droits d’accès Définit des droits d’accès spécifiques tels que KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS et KEY_NOTIFY.
  • Processus - Traiter les droits de sécurité et d’accès
    Définit des droits d’accès spécifiques tels que PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION et PROCESS_SET_INFORMATION.
  • Bobine - Droits de sécurité et d’accès des threads
    Définit des droits d’accès spécifiques tels que THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION et THREAD_SET_INFORMATION.

Types d’objets supplémentaires

Pour obtenir la liste complète des objets sécurisables et leurs droits d’accès, consultez Droits d’accès et Masques d’accès.

Spécifications

Requirement Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Header Winnt.h (inclure Windows.h)

Contrôle d’accès

Structures de contrôle d’accès de base

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

GENERIC_MAPPING