Partilhar 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 entradas de controle de acesso (ACEs) 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;

Observações

Os bits neste valor são alocados da seguinte forma:

Bits Meaning
0-15 Direitos específicos. Contém a máscara de acesso específica para o tipo de objeto associado à máscara. Consulte Object-Specific Direitos de acesso para obter links para direitos de acesso para diferentes tipos de objeto.
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 lista de controle de acesso do sistema (SACL). Esse tipo de acesso requer que o processo de chamada tenha o privilégio SE_SECURITY_NAME (Gerenciar auditoria e log de 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 Escrita genérica (GENERIC_WRITE).
31 Leitura genérica (GENERIC_READ).

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

Pouco Flag Meaning
16 EXCLUIR Excluir acesso.
17 READ_CONTROL Acesso de leitura ao proprietário, grupo e lista de controle de acesso discricionário (DACL) 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 Sincronize 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)

Object-Specific Direitos de acesso

Os 16 bits baixos (bits 0-15) do ACCESS_MASK são usados para direitos de acesso específicos do objeto. O significado desses bits depende do tipo de objeto que está sendo acessado. Para obter informações detalhadas sobre direitos de acesso para tipos de objeto específicos, consulte os seguintes tópicos:

Tipos de objeto comuns

  • Arquivos e Diretórios - Constantes de direitos de acesso a arquivos
    Define direitos de acesso específicos, como FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES e FILE_WRITE_ATTRIBUTES.
  • Chaves do Registro - Segurança da Chave de Registo e Direitos de Acesso Define direitos de acesso específicos, como KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS e KEY_NOTIFY.
  • Processos - Segurança de processos e direitos de acesso
    Define direitos de acesso específicos, como PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION e PROCESS_SET_INFORMATION.
  • Tópicos - Segurança de threads e direitos de acesso
    Define direitos de acesso específicos, como THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION e THREAD_SET_INFORMATION.

Tipos de objeto adicionais

Para obter uma lista abrangente de objetos protegíveis e seus direitos de acesso, consulte Direitos de acesso e máscaras de acesso.

Requerimentos

Requisito Valor
Cliente mínimo suportado Windows XP [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado Windows Server 2003 [apenas aplicações de ambiente de trabalho]
Header Winnt.h (incluir Windows.h)

Controle de Acesso

Estruturas Básicas de Controlo de Acessos

Direitos de Acesso e Máscaras de Acesso

GENERIC_MAPPING