Condividi tramite


ACCESS_MASK

Il tipo di dati ACCESS_MASK è un valore DWORD che definisce diritti standard, specifici e generici. Questi diritti vengono utilizzati nelle voci di controllo di accesso (ACL) e sono il mezzo principale per specificare l'accesso richiesto o concesso a un oggetto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Osservazioni:

I bit in questo valore vengono allocati come segue:

BITS Meaning
0-15 Diritti specifici. Contiene la maschera di accesso specifica del tipo di oggetto associato alla maschera. Vedere Object-Specific Diritti di accesso per i collegamenti ai diritti di accesso per tipi di oggetto diversi.
16-23 Diritti standard. Contiene i diritti di accesso standard dell'oggetto.
24 Sicurezza del sistema di accesso (ACCESS_SYSTEM_SECURITY). Viene usato per indicare l'accesso a un elenco di controllo di accesso di sistema (SACL). Questo tipo di accesso richiede che il processo chiamante disponga del privilegio SE_SECURITY_NAME (Gestione del controllo e del log di sicurezza). Se questo flag è impostato nella maschera di accesso di un ace di accesso di controllo (accesso riuscito o non riuscito), l'accesso SACL verrà controllato.
25 Massimo consentito (MAXIMUM_ALLOWED).
26-27 Riservato.
28 Generic all (GENERIC_ALL).
29 Esecuzione generica (GENERIC_EXECUTE).
30 Scrittura generica (GENERIC_WRITE).
31 Lettura generica (GENERIC_READ).

I bit di diritti standard, da 16 a 23, contengono i diritti di accesso standard dell'oggetto e possono essere una combinazione dei flag predefiniti seguenti:

Pezzo Flag Meaning
16 DELETE Eliminare l'accesso.
17 READ_CONTROL Accesso in lettura al proprietario, al gruppo e all'elenco di controllo di accesso discrezionale (DACL) del descrittore di sicurezza.
18 WRITE_DAC Accesso in scrittura al DACL.
19 WRITE_OWNER Accesso in scrittura al proprietario.
20 SYNCHRONIZE Sincronizzare l'accesso.

Le costanti seguenti definite in Winnt.h rappresentano i diritti di accesso specifici e 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)

diritti di accesso Object-Specific

I 16 bit bassi (bit 0-15) del ACCESS_MASK vengono usati per i diritti di accesso specifici dell'oggetto. Il significato di questi bit dipende dal tipo di oggetto a cui si accede. Per informazioni dettagliate sui diritti di accesso per tipi di oggetto specifici, vedere gli argomenti seguenti:

Tipi di oggetto comuni

  • File e directory - Costanti diritti di accesso ai file
    Definisce diritti di accesso specifici, ad esempio FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES e FILE_WRITE_ATTRIBUTES.
  • Chiavi - del Registro di sistemaDiritti di accesso e sicurezza delle chiavi del Registro di sistema Definisce diritti di accesso specifici, ad esempio KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS e KEY_NOTIFY.
  • Processi - Diritti di accesso e sicurezza dei processi
    Definisce diritti di accesso specifici, ad esempio PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION e PROCESS_SET_INFORMATION.
  • Discussioni - Diritti di accesso e sicurezza dei thread
    Definisce diritti di accesso specifici, ad esempio THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION e THREAD_SET_INFORMATION.

Tipi di oggetto aggiuntivi

Per un elenco completo degli oggetti a protezione diretta e dei relativi diritti di accesso, vedere Access Rights and Access Masks.

Requisiti

Requisito Value
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Header Winnt.h (include Windows.h)

Controllo dell’accesso

Strutture di controllo di accesso di base

Diritti di accesso e maschere di accesso

GENERIC_MAPPING