Condividi tramite


ACCESS_MASK

Il tipo di dati ACCESS_MASK è un valore DWORD che definisce diritti standard, specifici e generici. Questi diritti vengono usati nelle voci di controllo di accesso (AES) e sono i mezzi principali per specificare l'accesso richiesto o concesso a un oggetto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Commenti

I bit in questo valore vengono allocati come indicato di seguito.

BITS Significato
0 15
Diritti specifici. Contiene la maschera di accesso specifica del tipo di oggetto associato alla maschera.
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 del sistema (SACL). Questo tipo di accesso richiede che il processo chiamante disponga del privilegio SE_SECURITY_NAME (Gestire il controllo e il 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.

bit Flag Significato
16
DELETE
Eliminare l'accesso.
17
READ_CONTROL
Accesso in lettura al proprietario, al gruppo e all'elenco di controllo degli accessi discrezionali del descrittore di sicurezza.
18
WRITE_DAC
Accesso in scrittura all'elenco dati.
19
WRITE_OWNER
Accesso in scrittura al proprietario.
20
SINCRONIZZARE
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)

Requisiti

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

Vedi anche

Controllo dell’accesso

Strutture di base Controllo di accesso

Diritti di accesso e maschere di accesso

GENERIC_MAPPING