Diritti di accesso e maschere di accesso
Un diritto di accesso è un flag di bit che corrisponde a un determinato set di operazioni che un thread può eseguire su un oggetto a protezione diretta. Ad esempio, una chiave del Registro di sistema ha il diritto di accesso KEY_SET_VALUE, che corrisponde alla possibilità di un thread di impostare un valore sotto la chiave. Se un thread tenta di eseguire un'operazione su un oggetto, ma non ha il diritto di accesso necessario all'oggetto, il sistema non esegue l'operazione.
Una maschera di accesso è un valore a 32 bit i cui bit corrispondono ai diritti di accesso supportati da un oggetto . Tutti gli oggetti a protezione diretta di Windows usano un formato di maschera di accesso che include bit per i tipi di diritti di accesso seguenti:
- Diritti di accesso generico
- Diritti di accesso standard
- Diritto di accesso SACL
- Diritti di accesso ai servizi directory
Quando un thread tenta di aprire un handle a un oggetto, il thread specifica in genere una maschera di accesso per richiedere un set di diritti di accesso. Ad esempio, un'applicazione che deve impostare ed eseguire query sui valori di una chiave del Registro di sistema può aprire la chiave usando una maschera di accesso per richiedere i diritti di accesso KEY_SET_VALUE e KEY_QUERY_VALUE.
La tabella seguente illustra le funzioni che modificano le informazioni di sicurezza per ogni tipo di oggetto a protezione diretta.