Compartilhar via


ACCESS_MASK

O tipo de dados ACCESS_MASK é um valor DWORD que define direitos padrão, específicos e genéricos. Esses direitos são usados em ACEs ( entradas de controle de acesso ) e são o principal meio de especificar o acesso solicitado ou concedido a um objeto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Comentários

Os bits nesse valor são alocados da seguinte maneira.

Bits Significado
0 15
Direitos específicos. Contém a máscara de acesso específica ao tipo de objeto associado à máscara.
16 23
Direitos padrão. Contém os direitos de acesso padrão do objeto.
24
Segurança do sistema de acesso (ACCESS_SYSTEM_SECURITY). Ele é usado para indicar o acesso a uma SACL ( lista de controle de acesso do sistema ). Esse tipo de acesso requer que o processo de chamada tenha o privilégio SE_SECURITY_NAME (Gerenciar log de auditoria e segurança). Se esse sinalizador estiver definido na máscara de acesso de uma ACE de acesso de auditoria (acesso bem-sucedido ou malsucedido), o acesso à SACL será auditado.
25
Máximo permitido (MAXIMUM_ALLOWED).
26 27
Reservado.
28
Todos genéricos (GENERIC_ALL).
29
Execução genérica (GENERIC_EXECUTE).
30
Gravação genérica (GENERIC_WRITE).
31
Leitura genérica (GENERIC_READ).

Os bits de direitos padrão, de 16 a 23, contêm os direitos de acesso padrão do objeto e podem ser uma combinação dos sinalizadores predefinidos a seguir.

bit Sinalizador Significado
16
DELETE
Exclua o acesso.
17
READ_CONTROL
Acesso de leitura ao proprietário, grupo e DACL ( lista de controle de acesso discricionário ) do descritor de segurança.
18
WRITE_DAC
Acesso de gravação à DACL.
19
WRITE_OWNER
Acesso de gravação ao proprietário.
20
SINCRONIZAR
Sincronizar o acesso.

As constantes a seguir definidas em Winnt.h representam os direitos de acesso específicos e padrão.

#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)

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Winnt.h (inclua Windows.h)

Confira também

Controle de acesso

Estruturas de Controle de Acesso básicas

Direitos de acesso e máscaras de acesso

GENERIC_MAPPING